我想要对一个对象进行动画处理,所以我声明了一个约束(constraint)并将其添加到视图中。然后我在一个UIView
动画中更新约束的constant
属性。为什么这段代码不能移动这个对象?
UIView.animateWithDuration(1, animations: {
myConstraint.constant = 0
self.view.updateConstraints(myConstraint)
})
我想要对一个对象进行动画处理,所以我声明了一个约束(constraint)并将其添加到视图中。然后我在一个UIView
动画中更新约束的constant
属性。为什么这段代码不能移动这个对象?
UIView.animateWithDuration(1, animations: {
myConstraint.constant = 0
self.view.updateConstraints(myConstraint)
})
updateConstraints
。你应该更改约束的constant
,并按照以下格式进行操作:
为了声明动画,不能重新定义约束并调用updateConstraints
方法。而是需要更改约束的constant
值,并按照以下格式进行操作:
self.view.layoutIfNeeded()
UIView.animate(withDuration: 1) {
self.sampleConstraint.constant = 20
self.view.layoutIfNeeded()
}