Je suis coincé dans une boucle d'animation. J'ai un bouton nommé [stopBtn
] et un UIView nommé [backgroundView
]. Je veux animer la couleur d'arrière-plan de l'UIView à partir du moment où le ViewController est chargé au moment où il est détruit. en fonction viewDidAppear
, je commence par la pulsation écrire animateView()
Animation de UIView - coincé dans une boucle d'animation récursive: Swift
func animateView(){
UIView.animateWithDuration(1.0, animations: {
self.backgroundView.backgroundColor = UIColor.blackColor()
self.view.bringSubviewToFront(self.stopBtn)
}, completion: {
(Completed: Bool) -> Void in
UIView.animateWithDuration(1.0, delay: 0, options: UIViewAnimationOptions.CurveLinear, animations: {
self.backgroundView.backgroundColor = UIColor(red: 39, green: 117, blue: 0, alpha: 1)
self.view.bringSubviewToFront(self.stopBtn)
}, completion: {
(Completed : Bool) -> Void in
self.animateView()
})
})
}
@IBAction func stopBtnPressed(sender: UIButton) {
print("pressed")
}
Ma question est que pourquoi mon stopBtn
fonctionne pas? Je sais déjà que c'est coincé dans la boucle c'est pourquoi je voudrais aider à animer correctement (peut-être sur un autre fil ou quelque chose et laisser le fil principal ouvert).
stopBtn
est connecté à un autre ViewController dans Storyboard. J'ai essayé de créer un IBAction et cela n'a pas fonctionné. J'ai également essayé d'amener stopBtn
à l'avant de la sous-vue [self.view.bringSubviewToFront(self.stopBtn)
].
Cette réponse était absolument phénoménale. Merci beaucoup Tyler! –