我被一個奇怪的自動佈局錯誤卡住了。更新約束後按鈕位置不正確自動佈局
我有兩個按鈕(確認和刪除)並排,在相同的視圖中,每個都取自己的超視圖的50%的寬度,在某些情況下(當test = true時),我想隱藏確認按鈕所以刪除按鈕會佔用屏幕的所有寬度。
這裏是我的自動佈局:
確認按鈕:
刪除按鈕:
鐠比例寬度是超視圖的50%(1:2)。現在,這裏是我的電話,在viewWillAppear
發生:
if test {
self.confirmButtonWidthConstraint.constant = 0
self.deleteButtonWidthConstraint.constant = (self.deleteButton.superview?.frame.width)!
}
但是,這樣做在此之後的結果:
和檢查UI調試後,我可以看到,奇怪的是,這現在刪除按鈕的寬度爲... 480,起始x爲-160。所以我不知道這裏發生了什麼。請幫忙!
如果您的約束使用Autolayout確定的數據(例如視圖的寬度),則應根據確切用例在'viewDidLayoutSubviews()'或'viewWillLayoutSubviews()'中調用相關代碼。 –
感謝您的回答。我嘗試過,但仍得到相同的結果。 – Someday