动画:元素的停止重置位置(swift)

动画:元素的停止重置位置(swift),swift,animation,Swift,Animation,我正在尝试动画,但我面临一个大问题:当我的动画完成后,我做了一些事情(触摸屏幕等),元素会将它们的位置重置为它们的第一个位置。 我发现这个:[博客]: 他们说这是因为元素有约束或自动布局,所以关闭它来修复它,但我不想关闭它。 我们可以通过编程方式更新约束吗? 还有其他解决办法吗 这是我的动画: @IBOutlet var tfUser: UITextfiled! override func viewDidLoad() { super.viewDidLoad() } overrid

我正在尝试动画,但我面临一个大问题:当我的动画完成后,我做了一些事情(触摸屏幕等),元素会将它们的位置重置为它们的第一个位置。 我发现这个:[博客]: 他们说这是因为元素有约束或自动布局,所以关闭它来修复它,但我不想关闭它。 我们可以通过编程方式更新约束吗? 还有其他解决办法吗

这是我的动画:

@IBOutlet var tfUser: UITextfiled!

 override func viewDidLoad() {
    super.viewDidLoad()

}

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
tfUser.center.x += view.bounds.width
}


override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)

     UIView.animateWithDuration(2, delay: 1.8, options: [.CurveEaseInOut], animations: {
        self.tfUser.center.x += self.view.bounds.width
        //self.tfUser.frame = CGRectMake(0, 233, 375 , 89)
       // i tried CGRectMake but it delete the animation
        }, completion: nil)
}

在评论我的问题时,@Hardik Shekhat告诉我们使用:

self.tfUser.translatesAutoresizingMaskIntoConstraints = true

这对我有用

使用UIView的TranslatesAutoResizengMaskinToConstraints属性。像这样
self.tfUser.translatesAutoresizingMaskIntoConstraints=false非常感谢,这很有效!!