我有一个要更改动画大小的视图。该视图下面是我要相应移动的其他视图。
我创建了一个新项目,所以请简化此操作,以使此功能正常运行。在这个项目中,我只有viewOne,viewTwo和一个控制它的按钮。还有一个布尔值叫做“ blue”。
@IBAction func bttn() {
if blue {
blue = false
UIView.animate(withDuration: 1) {
self.viewOne.frame.size.height = 64
}
}else {
blue = true
self.viewOne.frame.size.height = 100
}
}
当我点击按钮时,我希望viewOne的尺寸增加,而viewTwo的位置向下移动,因为视图的顶部和底部之间存在约束。
但是实际结果是viewOne增加了,但是viewTwo没有移动。
答案 0 :(得分:1)
只有自动布局可以执行此操作,因为更改框架不会应用约束,因此您需要为view1创建一个高度出口
self.view1Height.constant = 64
UIView.animate(withDuration: 1) {
self.view.layoutIfNeeded()
}