我正在嘗試使用Autolayout和約束來代替帶有框架的動畫。在我的項目中,我在屏幕的頂部附近有一個UIView
,我試圖向下直線移動(y位置)。我知道我必須修改約束常量值,但這樣做會降低我的視圖的高度,而不是像我想要的那樣「向下推」它。這裏是我的代碼:Autolayout在不改變寬度/高度的情況下動畫製作UIView的x/y位置
self.topConstraint.constant = 180;
[UIView animateWithDuration:0.5f animations:^{
[self.theView layoutIfNeeded];
} completion:^(BOOL finished) {
}];
topConstraint
是視圖控制器的觀點和theView
的頂部之間的垂直空間的限制。
上theView
其他制約包括:
中心X對齊
水平空間
垂直空間(
self.topConstraint
)垂直空間(表示
theView
之間的空間和ViewCo的底部ntroller的觀點)置頂寬度
置頂高度
如何修改約束值簡單地改變theView
位置而不影響其寬度/高度?
該視圖還有哪些其他約束條件?是否將視圖的底部固定在其他位置? A> =高限制? – Wain
是的,我忘了提及我試圖固定視圖的寬度和高度。我會更新解釋其他限制的問題。 – hgwhittle