我试图动画一些textfield
。在屏幕外开始动画并移动到屏幕中心。但就我而言,动画从中心开始,走出bounds
。当我在viewWillAppear
/ viewDidAppear
中声明这一点时会发生这种情况,但在viewDidLoad
中所有工作都很好/
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)
}
答案 0 :(得分: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)
}