2016-06-16 30 views
0

我試圖給一些textfield設置動畫。在屏幕之外開始動畫並移動到屏幕中央。但在我的情況下,動畫從中心開始,走出bounds。這發生了,我宣佈這viewWillAppear/viewDidAppear的時候,但在viewDidLoad一切工作的優良/UIView.animateWithDuration走出界限

override func viewWillAppear(animated: Bool) { 
    emailField.center.x -= view.bounds.width 
} 

override func viewDidAppear(animated: Bool) { 

    UIView.animateWithDuration(0.5, delay: 0.4, options: [], animations: { 
     self.emailField.center.x += self.view.bounds.width 
     }, completion: nil) 

} 

回答

1

你可以嘗試動畫的變換屬性。

override func viewWillAppear(animated: Bool) { 
    emailField.transform = CGAffineTransformMakeTranslation(-view.bounds.width, 0.0) 
} 

override func viewDidAppear(animated: Bool) { 
    UIView.animateWithDuration(0.5, delay: 0.4, options: [], animations: { 
     self.emailField.transform = CGAffineTransformIdentity 
    }, completion: nil) 
} 
+0

謝謝!所有工作正常:) –