如何定義NSLayoutYAxisAnchor
類型的變量?如何使用'NSLayoutYAxisAnchor`作爲變量?
下不工作,但我希望說明我的意思:
let anAnchor: NSLayoutYAxisAnchor = .topAnchor
NSLayoutConstraints.activate([
viewA.anAnchor.constraint(equalTo: viewB.anAnchor)
])
如何定義NSLayoutYAxisAnchor
類型的變量?如何使用'NSLayoutYAxisAnchor`作爲變量?
下不工作,但我希望說明我的意思:
let anAnchor: NSLayoutYAxisAnchor = .topAnchor
NSLayoutConstraints.activate([
viewA.anAnchor.constraint(equalTo: viewB.anAnchor)
])
你可以用斯威夫特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.
可以在斯威夫特4使用它作爲一個的keyPath這樣的:
let anAnchor = \UIView.topAnchor
.topAnchor
是不枚舉類型,它是屬性對於UIView
。
因此,在Swift 4之前不可能將它設置爲一個變量。
Swift 4關鍵路徑怎麼樣?這就是你如何將一個屬性引用到一個變量中 – matt
是的,但你怎麼能確定它爲'.topAnchor'? NSLayoutYAxisAnchor似乎是y軸上任何錨的常見類型。 – Manuel