НЕТ UIView АНИМАЦИЯ, я учусь Core AnimationBasic Core Animation - движущееся изображение
Когда я запускаю этот код, то top
изображение не на экране. Затем через 4 секунды он снова появляется и поступает так, как ожидалось. Не знаю, почему. Я хочу, чтобы изображение top
отображалось на экране при запуске приложения, а затем через 4 секунды для изображения top
для перемещения вверх и из экрана.
@IBOutlet var top: UIImageView!
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
let openTop = CABasicAnimation(keyPath: "position.y")
openTop.fromValue = self.top.frame.origin.y
openTop.toValue = -self.view.bounds.size.height
openTop.duration = 1.0
openTop.beginTime = CACurrentMediaTime() + 4
self.top.layer.addAnimation(openTop, forKey: nil)
self.top.layer.position.y = -self.view.bounds.size.height
}
Любые мысли?
Я принял этот ответ, потому что он самый простой здесь. Можете ли вы объяснить, почему вы должны сначала перенести положение слоев с помощью 'l.position = CGPointMake (CGRectGetMidX (self.view.bounds), -l.frame.height * 0.5)'? То, как я это делал, вызывало успокаивающее подобное после добавления анимации, но вы делали это, прежде чем добавлять анимацию. Почему это способ сделать это? – JEL
Он думает, что это меньше кода. Вам также не нужно беспокоиться об удалении анимации позже. – nielsbot