2016-04-17 4 views
0

обучения Swift и побежал в этом сегодня:Анимирование ImageViews с задержкой

У меня есть 3 изображения, которые я создал выходы для:

@IBOutlet weak var bookImageView: SpringImageView! 
@IBOutlet weak var sketchImageView: SpringImageView! 
@IBOutlet weak var xcodeImageView: SpringImageView! 

При нажатии на кнопку действия learnButtonDidTouch Я хочу, чтобы анимировать:

bookImageView сразу

sketchImageView 0,2 задержка

xcodeImageView 0,2 Задержка

Во время моего поиска я только нашел код, который использует UIView.animationWithDuration, но я не получил достаточно далеко, чтобы понять, почему я не могу использовать .animationWithDuration прямо на моих ImageViews. Какая альтернатива здесь? Не могу найти ничего при использовании .animate() или .animation с продолжительностью, поэтому я предполагаю, что мне нужно использовать .animationWithDuration на UIView. Но как бы я это сделал в этом случае?

Это код, когда я нажимаю кнопку:

@IBAction func learnButtonDidTouch(sender: AnyObject) { 
    sketchImageView.animation = "pop" 
    xcodeImageView.animation = "pop" 
    bookImageView.animation = "pop" 
    sketchImageView.animate() 
    xcodeImageView.animate() 
    bookImageView.animate() 
} 

ответ

0

animateWithDuration имеет completionHandler:. В обработчике завершения первой анимации выполните вторую анимацию; в обработчике завершения второй анимации выполните третью анимацию.

Кроме того, animateWithDuration имеет параметр delay, поэтому вы сможете легко отложить вторую и третью анимацию.

0

Вы можете определенно использовать UIView.animateWithDuration. Ниже приведен код для этого.

UIView.animateWithDuration(0.2, delay: 0, options: nil, animations: {() -> Void in 
    //bookImageView animation 
}, completion: 
    UIView.animateWithDuration(0.2, delay: 0, options: nil, animations: {() -> Void in 
    //sketchImageView animation 
    }, completion: 
     UIView.animateWithDuration(0.2, delay: 0, options: nil, animations: {() -> Void in 
      //xcodeImageView animation 
     }, completion: nil) 
    ) 
) 
Смежные вопросы