2016-06-16 15 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

あなたはtransformプロパティをアニメーション化してみてください可能性があります。

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

ありがとうございます!すべてうまく動作します:) –

関連する問題