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方法,如果你的意图是不动画? –
我的意图是动画位置,而不是大小。 –