Я пытаюсь выполнить segue после завершения анимации. Вот код, я имею в viewDidAppear:Выполняется запись после завершения анимации
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
imageViewAnimated.startAnimating()
if label.center != CGPoint(x:50, y:10) {
UIView.animateWithDuration(2.0, delay: 0.0, usingSpringWithDamping: 0.0, initialSpringVelocity: 0.0, options: .CurveEaseOut, animations: {() -> Void in
self.label.center = self.view.center
}, completion: nil)
UIView.animateWithDuration(0.5, delay: 0.0, usingSpringWithDamping: 0.0, initialSpringVelocity: 0.0, options: .CurveEaseOut, animations: {() -> Void in
// self.label.center = CGPoint(x: 50,y:300)
self.label.alpha = 0.0
}, completion: nil)
}
if label.alpha == 0.0 {
UIView.animateWithDuration(0.5, delay: 10.0, usingSpringWithDamping: 0.0, initialSpringVelocity: 0.0, options: .CurveEaseOut, animations: {() -> Void in
self.performSegueWithIdentifier("backSegue", sender: self)
}, completion: nil)
}
}
Так в основном у меня есть ярлык, который движется вниз и гаснуть (первый и второй animateWithDuration), а затем я хочу Segue произойти после того, как этикетка затухать и другая анимация выполнена. Прямо сейчас происходит перерыв, но он делает это сразу и не ждет, сколько бы я не увеличил задержку.
Если вы хотите выполнить какое-либо действие после того, как функция будет завершена, вам необходимо закодировать его в блоке «Завершение». Блок завершения будет вызван после того, как метод завершит свою работу. – Bharath
Я обновил ответ, просто проверил –