如何将 `NSLayoutYAxisAnchor` 用作变量?
How can a `NSLayoutYAxisAnchor` be used as variable?
如何定义NSLayoutYAxisAnchor
类型的变量?
以下内容无效,但希望能说明我的意思:
let anAnchor: NSLayoutYAxisAnchor = .topAnchor
NSLayoutConstraints.activate([
viewA.anAnchor.constraint(equalTo: viewB.anAnchor)
])
您可以将它用作 Swift 4 中的键路径,如下所示:
let anAnchor = \UIView.topAnchor
.topAnchor
是 不是 枚举类型,它是 属性 对于 UIView
.
所以在Swift4之前是不可能设置为变量的。
您可以使用 Swift 4 的新键路径功能来做到这一点:
let anAnchor = \UIView.topAnchor
let v1 = UIView(); let v2 = UIView() // just for testing purposes
let constraint = v1[keyPath:anAnchor].constraint(equalTo:v2[keyPath:anAnchor])
// now you can activate the constraint, etc.
如何定义NSLayoutYAxisAnchor
类型的变量?
以下内容无效,但希望能说明我的意思:
let anAnchor: NSLayoutYAxisAnchor = .topAnchor
NSLayoutConstraints.activate([
viewA.anAnchor.constraint(equalTo: viewB.anAnchor)
])
您可以将它用作 Swift 4 中的键路径,如下所示:
let anAnchor = \UIView.topAnchor
.topAnchor
是 不是 枚举类型,它是 属性 对于 UIView
.
所以在Swift4之前是不可能设置为变量的。
您可以使用 Swift 4 的新键路径功能来做到这一点:
let anAnchor = \UIView.topAnchor
let v1 = UIView(); let v2 = UIView() // just for testing purposes
let constraint = v1[keyPath:anAnchor].constraint(equalTo:v2[keyPath:anAnchor])
// now you can activate the constraint, etc.