Swift - 仅对特定约束进行动画处理
Swift - Animate only specific constraints
我正在尝试在 ViewController 中设置约束动画。
为此,我将这一行添加到我的代码中:
我只是想改变 UIView() 的高度(从 0 到 100)
barHeight.constant = CGFloat(100)
UIView.animate(withDuration: 2) {self.view.layoutIfNeeded()}
问题是,在该行中,所有约束都是动画的,这不是我想要的。
你知道我如何只为特定的约束而不是其他约束设置动画吗?
在编辑要设置动画的约束之前调用 layoutSubviews。这将导致在没有任何动画的情况下应用任何挂起的布局更新,然后您可以使用动画更改下一个约束。
像这样:
self.view.layoutSubviews()
barHeight.constant = CGFloat(100)
UIView.animate(withDuration: 2) {self.view.layoutIfNeeded()}
我正在尝试在 ViewController 中设置约束动画。 为此,我将这一行添加到我的代码中: 我只是想改变 UIView() 的高度(从 0 到 100)
barHeight.constant = CGFloat(100)
UIView.animate(withDuration: 2) {self.view.layoutIfNeeded()}
问题是,在该行中,所有约束都是动画的,这不是我想要的。
你知道我如何只为特定的约束而不是其他约束设置动画吗?
在编辑要设置动画的约束之前调用 layoutSubviews。这将导致在没有任何动画的情况下应用任何挂起的布局更新,然后您可以使用动画更改下一个约束。
像这样:
self.view.layoutSubviews()
barHeight.constant = CGFloat(100)
UIView.animate(withDuration: 2) {self.view.layoutIfNeeded()}