我有两个文本字段displayNameTF和emailTF。
我想要为一个文本字段设置动画以覆盖另一个文本字段的顶部。
displayNameTF.center = emailTFOrigin
UIView.animate(withDuration: 0.3) {
self.view.layoutIfNeeded()
}
我已将emailTF的中心存储在emailTFOrigin中,并且我将displayNameTF的中心设置为它并为layoutIfNeeded设置动画。
我得到的动画是文本字段默认距离彼此约5个点,displaynameTF直接跳到emailTF的顶部,并动画回到其原始位置。
我希望发生的动画是displayNameTF在电子邮件的顶部动画。现在,它正在通过emailTF重新回到原来的位置。
如果游戏中存在限制,如何让顶部TF在底部TF的顶部进行动画制作?
答案 0 :(得分:1)
在您的代码中,您尝试将自定义中心设置为文本字段。那是错的。因此,您的文本字段将返回到初始位置。 您应该为将文本字段置于其当前位置的约束设置动画,而不是这样做。
一个选项是您可以创建2个约束,并且一次只能激活其中一个约束。 1 =当前位置,2 =新位置。停用第一个并激活第二个。调用动画。文本字段将移动到第二个位置。
答案 1 :(得分:1)
创建约束,将底部TF的顶部连接到顶部TF的下部。创建该约束的出口。要为其设置动画,请将该约束的常量更改为TF的高度,并调用layoutIfNeeded()