1
我試圖在需要改變視圖固有尺寸的UIView
子類中編排一些動畫。在改變固有尺寸的同時改變NSLayoutConstraint的動畫效果問題
在CATransaction
完成塊中,我呼叫invalidateIntrinsicContentSize()
來反映大小的變化,並在我製作動畫約束後立即執行。
self.layoutIfNeeded()
UIView.animateWithDuration(2) {
NSLayoutConstraint.deactivateConstraints(oldConstraints)
NSLayoutConstraint.activateConstraints(newConstraints)
self.layoutIfNeeded()
}
但奇怪的事情發生了,與提供給deactivateConstraints
和activateConstraints
方法的限制一起,我也看到沿着相同的時間進行動畫視圖的大小。
下面是一個在行動中的視頻。
https://www.youtube.com/watch?v=OgM378Wryd0
這裏的問題的示意圖。
我的目的是立即改變視圖的大小,並與定位約束沿不製作動畫。
爲什麼你使用animateWithDuration方法,如果你的意圖是不動畫? –
我的意圖是動畫位置,而不是大小。 –