Qu'est-ce exactement ne bool paramètre n'en animateWithDuration:animations:achèvement:

J'ai renvoyé à la DOC et il a dit:

achèvement

... Ce bloc n'a pas de valeur de retour et prend un seul argument Booléen qui indique si oui ou non les animations réellement terminée avant que le gestionnaire d'achèvement a été appelé. ...

Mais je trouve que n'importe que vous utilisez le paramètre booléen ou pas, le completion: bloc sera toujours exécuté après animations: bloc. Tout comme les deux de bloc simple animation à base d'extraits de code montré ci-dessous, deux d'entre eux font de même.

[UIView animateWithDuration:0.3f
                  delay:0.0f
                options:UIViewAnimationCurveEaseInOut
             animations:^{
                 [myView setAlpha:0.0f];
             }
             completion:^(BOOL finished) {
                 [myView removeFromSuperview];
             }];

et

[UIView animateWithDuration:0.3f
                  delay:0.0f
                options:UIViewAnimationCurveEaseInOut
             animations:^{
                 [myView setAlpha:0.0f];
             }
             completion:^(BOOL finished) {
                 if (finished) [myView removeFromSuperview];
             }];

Et je trouve que la plupart des gens(moi y compris) d'utiliser la première(même la pomme officiel de doc exemple). Donc,

  • quelle est la finished paramètre utilisé pour ici exactement?
  • ou ce qui est la situation va être utilisé?
  • Bonne question, je n'ai jamais vraiment demandé ce jusqu'à ce que mon code a été la création de la saisie-causant des animations d'aujourd'hui. Merci de demander ce!
InformationsquelleAutor Kjuly | 2011-12-31