annuler un UIView animateWithDuration avant l'achèvement
J'ai ce code dans mon projet:
- (void) fadeImageView {
[UIView animateWithDuration:1.0f
delay:0
options:UIViewAnimationCurveEaseInOut
animations:^{
self.imageView.alpha = 0.0f;
}
completion:^(BOOL finished) {
//make the image view un-tappable.
//if the fade was canceled, set the alpha to 1.0
}];
}
cependant, il y a des circonstances où je voudrais annuler cette opération avant de l'imageview est devenu invisible. Est-il un moyen d'annuler cette animation le milieu de l'animation?
source d'informationauteur Sean Danzeiser | 2012-08-24
Vous devez vous connecter pour publier un commentaire.
Mise à jour: préférer cette réponse https://stackoverflow.com/a/21527129/194309 de Borut Tomazin
Tout d'abord, vous devez ajouter UIViewAnimationOptionAllowUserInteraction de l'option comme..
et ensuite faire une méthode de ce genre....
après cela, lorsque vous voulez retirer votre animation de l'appel de méthode ci-dessus à l'aide de .....
Espère que ça va vous aider à
Heureux de codage.........!!!!!!!!!!!! 🙂
EDIT:
Grâce user1244109 pour me guider pour cette.
Pour iOS7, nous devons ajouter une option de plus
UIViewAnimationOptionBeginFromCurrentState
comme:D'Apple docs: Utilisation de cette méthode est déconseillée en iOS 4.0 et versions ultérieures. Au lieu de cela, vous devez utiliser le
animateWithDuration:delay:options:animations:completion:
méthode pour spécifier vos animations et les options d'animation.: