首页 > 解决方案 > Swift 打印锚常量值

问题描述

你如何打印出一个锚常数的值?例如:

let myButton = UIButton()
myButton.topAnchor.constraint(equalTo: view.topAnchor, constant: 5).isActive = true
myButton.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
myButton.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
myButton.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
print(myButton.topAnchor.constant)//this would print 5

标签: iosswiftautolayoutnslayoutconstraint

解决方案


你的概念错了。该常量用于您为锚设置的约束。锚点没有常数。约束可以。因此,您需要做的是维护约束的引用并访问常量。

let myButtonTopAnchorConstraint = myButton.topAnchor.constraint(equalTo: view.topAnchor, constant: 5)
myButtonTopAnchorConstraint.isActive = true
myButton.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
myButton.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
myButton.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true

print(myButtonTopAnchorConstraint.constant) //Prints 5

一个视图将只有一个 topAnchor,但可以有多个相对于该锚点的约束。


推荐阅读