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

时间:2016-08-13 11:07:06

标签: swift animation

我正在尝试动画,我面临一个大问题:当我的动画完成并且我做某事(触摸屏幕等)时,元素将其位置重置到第一个位置。 我发现了这个:[博客]:Animation Blocks resets to original position after updating text 他们说这是因为元素有约束或自动布局所以关掉它来修复它但我不想把它关掉。 我们能以编程方式更新约束吗? 还有其他解决方案吗?

这是我的动画:

@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)
}

1 个答案:

答案 0 :(得分:0)

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

self.tfUser.translatesAutoresizingMaskIntoConstraints = true

它对我有用!