我正在尝试为ViewController中的约束设置动画。 为了做到这一点,我在代码中添加了以下代码: 我只是想将UIView()的高度(从0更改为100)
barHeight.constant = CGFloat(100)
UIView.animate(withDuration: 2) {self.view.layoutIfNeeded()}
问题在于,随着那条线,所有约束都被动画化了,这不是我想要的。
您知道我如何仅对特定约束进行动画处理吗?
答案 0 :(得分:3)
在编辑要设置动画的约束之前,请调用layoutSubviews。这将导致所有待处理的布局更新都将被应用而没有任何动画,然后您可以使用动画更改下一个约束。
像这样:
self.view.layoutSubviews()
barHeight.constant = CGFloat(100)
UIView.animate(withDuration: 2) {self.view.layoutIfNeeded()}