[英]iOS autolayout constraints refresh
主要問題:我在另一個下面有三個標簽(label1,label2,label3)。 如果在運行時將label3設置為隱藏或從超級視圖中刪除,如何將label3對准label1以下。
初始視圖:
Label1
vertical spacing
Label2
vertical spacing
Label3
行動:
set Label2.hidden = yes;
輸出:
Label1
vertical spacing
Label3
我嘗試過的是應用垂直間距約束:
現在,當我刪除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;
幾個提示:
祝好運!
當將其設置為隱藏時,為什么不只將label3的框架更改為等於label2?
因此添加Label3.frame = Label2.frame;
在Label2.hidden = YES;
反之亦然。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.