主要问题:我在另一个下面有三个标签(label1,label2,label3)。
如果在运行时将label2设置为隐藏或从 super 视图中删除,如何将label3对准label1以下。
初始视图:
Label1
vertical spacing
Label2
vertical spacing
Label3
行动:
set Label2.hidden = yes;
输出:
Label1
vertical spacing
Label3
我尝试过的是应用垂直间距约束:
label1和label2之间的
现在,当我删除label2时,应该如何刷新约束,或者应该在隐藏label2时跟踪所有约束并删除第二约束?
最佳答案
一种解决方案是更改label2的高度限制,使其为零,然后刷新限制,以使所有内容向上移动。您必须为该变量设置属性,并使用+(id)constraintWithItem:(id)view1 attribute:(NSLayoutAttribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(id)view2 attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multiplier constant:(CGFloat)c;
进行设置
几个提示:
标签,而不是标签的 super 视图。
对于新的现有约束,当然,
常量的例外,它将为0。
祝好运!