從下面的圖片中,當用戶點擊view1時,view2和view3向下滑動到頁腳,通過將頁腳3的約束條件設置爲0(ish)來有效拉動view2和view3。我有我的xib設置與第一個圖像中顯示的約束。 2.最重要的[我現在]是view1View2約束和view3Footer約束使用NSLayoutConstraints移動UIViews所需的建議
爲了實現滑下我已經結束了對view1view2約束設置一個低優先級和高優先爲view3Footer約束,然後更新view3Footer約束不斷在animateWithDuration
我的問題越來越視圖2和視圖3滑回了,如果我用同樣的方法,我會通過實現設置v iew1view2約束常數爲2.
我相信上述問題的上滑是view3Footer約束優先於view1View2約束,優先級似乎只能被讀取,所以我不能更改這些具體。我明白,在設置限制時,我只是要求視圖定位。
...我相信我可能會使用完全錯誤的方法...
我在所有正確的方式去這件事?我是否必須獲取約束對象IBOutlet並重寫它們?如果是這樣,我是否會重寫優先順序?我是否應該使用> =作爲具有相同優先級的常量,這似乎不起作用。我的代碼簡單的動畫下面是,這是沒有多少,但除了手勢識別器,設置主要在xib
任何幫助非常感謝。 謝謝你,史蒂夫
對於滑了下來:
[UIView animateWithDuration:0.9 animations:^{
_view3FooterConstraint.constant=2;
[self.view layoutIfNeeded];
} completion:^(BOOL finished){}];
更新也試過這種設置優先級等於 - 不再能實現滑動下來
_view3FooterConstraint.constant=2;
[self.view setNeedsUpdateConstraints];
[UIView animateWithDuration:0.9 animations:^{
[self.view layoutIfNeeded];
} completion:^(BOOL finished){}];
對於滑:
[UIView animateWithDuration:0.9 animations:^{
_view1View2Constraint.constant=2;
[self.view layoutIfNeeded];
} completion:^(BOOL finished){}];