AutoLayout優(yōu)先級,實現(xiàn)按鈕的隱藏顯示
效果圖:

效果圖.gif
優(yōu)先級(priority):
- 初始化時,當(dāng)約束的priority的值是UILayoutPriorityRequired (1000)時,是無法改變priority值而生效的。也就是說,想要使用優(yōu)先級屬性,就必須初始化一個不是1000的priority的約束。
- storyboar中,手動拉線的約束默認(rèn)為UILayoutPriorityRequired (1000)??梢允謩有薷脑搶傩?。
Priorities may not change from nonrequired to required, or from required to nonrequired.
實現(xiàn):
在一個UIView中放置3個按鈕,用優(yōu)先級達(dá)到隱藏/顯示其中一個按鈕的目的。
在storyboard中的約束:

第三個按鈕的約束

第二個按鈕的約束
代碼實現(xiàn)隱藏和顯示
//隱藏-顯示第二個按鈕
- (IBAction)clickToHidenOrShowSecondBtn:(id)sender {
_isHidenSecondBtn = !_isHidenSecondBtn;
if (_isHidenSecondBtn) {
self.secondBtn.hidden = YES;
self.threeBtnToFirstBtnConstraint.priority = 999;
self.threeBtnToLabelConstraint.priority = 750;
self.threeBtnToSecondBtnConstraint.priority = 750;
} else {
self.secondBtn.hidden = NO;
self.threeBtnToFirstBtnConstraint.priority = 750;
self.threeBtnToLabelConstraint.priority = 750;
self.threeBtnToSecondBtnConstraint.priority = 999;
}
}