我试图为约束设置动画,但它似乎影响了整个视图。这是我用来为约束设置动画的代码。
@IBOutlet weak var personHeight: NSLayoutConstraint!
func animateBackgroundHeight() {
print("animate")
UIView.animate(withDuration: 5.0, animations: {
self.personHeight.constant = 19 // personHeight is the IBOutlet to the constraint
self.view.layoutIfNeeded()
})
}
当动画进行时,视图中的所有内容都会移动,但我不确定原因。我想要设置动画的是视图的高度,但不影响TextField或按钮。可以将GreyView视为TextField的背景元素。
这是一张图片,向您展示我试图制作动画的约束(绿色)
粉红色框表示父视图。 灰盒子是我试图动画高度的视图。 TextField和按钮位于Gray Box对象上方。
答案 0 :(得分:0)
毕竟,您可能会为错误的视图设置动画 所以要明确你的问题 如果你有嵌套在另一个视图中的x视图 并希望仅为x视图设置动画 那么你应该 制作
self.x.layoutIfNeeded()
而不是
self.view.layoutIfNeeded()