Jak mogę poczekać na zakończenie jednej animacji, zanim kolejna rozpocznie się w Swift? Rozmyślałem z if animation.animationDidStop... {}
, ale to nie zadziała.Jak mogę poczekać na zakończenie jednej animacji, zanim kolejna rozpocznie się w Swift?
Oto niektóre z moich kodu do tej pory:
class ViewController: UIViewController {
@IBOutlet weak var purpleRing: UIImageView!
@IBOutlet weak var beforeCountdownAnimation: UIImageView!
var imageArray = [UIImage]()
var imageArray2 = [UIImage]()
override func viewDidLoad() {
super.viewDidLoad()
for e in -17...0 {
let imageName2 = "\(e)"
imageArray2.append(UIImage(named: imageName2)!)
}
for t in 1...97 {
let imageName = "\(t)"
imageArray.append(UIImage(named: imageName)!)
}
}
func startAnimation() -> Void {
purpleRing.animationImages = imageArray
purpleRing.animationDuration = 5.0
purpleRing.startAnimating()
}
func startAnimation2() -> Void {
beforeCountdownAnimation.animationImages = imageArray2
beforeCountdownAnimation.animationDuration = 1.0
beforeCountdownAnimation.startAnimating()
}
@IBAction func startAnimations(sender: AnyObject) {
startAnimation()
startAnimation2()
}
Korzystanie 'animateWithDuration klasa funkcjono (_ Czas trwania: NSTimeInterval, animacje animacje() -> Pustki, zakończenie realizacji: ((Bool) -> void)) i' wywołanie drugiej animacji po zakończeniu ? – Larme
i jak dokładnie zaimplementowałem to w moim kodzie? :) – user3157462
Przepraszam, źle odczytałem, używasz animacjiImages. Proponuję użyć odpowiednika w Swift: http://stackoverflow.com/questions/9283270/access-method-after-uiimageview-animation-finish – Larme