假设我有两个底部对齐的 View :
V:[Label1]-10-[Label2]-20-|
Label1
和Label2
之间有10个点间距,Label2
和bottom之间有20个点间距。
现在,在某些情况下,我需要隐藏 Label2
,在这种情况下,我想要:
V:[Label1]-15-|
也就是说,Label2
被隐藏,Label1
到底部有 15 个点的间距。
我正在 Storyboard中设置它,我正在考虑使 15 点间距具有较低的优先级并根据需要隐藏 Label2
,但它似乎不起作用。
实现此目标的最佳方法是什么?
谢谢!
最佳答案
通过保持您提到的低优先级约束,我找到的较短的解决方案是:
@IBOutlet weak var view2: UIView!
var constraints: [NSLayoutConstraint]? = nil
func foo() {
if needsToHideView2 {
constraints = view2.constraints
NSLayoutConstraint.deactivate(view2.constraints)
}
if needsToShowView2 {
NSLayoutConstraint.activate(constraints!)
}
}
关于iOS:具有隐藏 View 的布局约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48512162/