我正在设置UITextField
的调整大小。我正在使用带有约束的Autolayout。我的故事板中有约束H:|-[textField] -(8)-[label]-(8)-[image]-|
。
我为标签飞离屏幕设置动画,删除textField和标签之间的约束,然后在图像和textField之间创建一个新约束。
当我为view.layoutIfNeeded()
设置动画时,textField中的文本会出现在textField的左上角,然后会动画到正常位置。
为什么会发生这种情况?如何阻止它?
答案 0 :(得分:13)
除了您正在讨论的约束之外,您可能还有待处理的布局操作。在进行约束更改之前尝试调用layoutIfNeeded
一次,然后添加约束并再次在动画块内调用layoutIfNeeded
。
这将确保只有您想要设置动画的约束更改实际上是动画的。