Dans la plupart des cas, ou parce que nous sommes habitués ou parce que nous avons vu dans les didacticiels et dans certains textes, nous utilisons le setAnimationDidStopSelector de cette manière:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | nil context : NULL ] ; [BeginAnimations UIView: contexte nul: NULL]; 1.5 ] ; [UIView setAnimationDuration: 1,5]; UIViewAnimationCurveEaseInOut ] ; [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut]; self ] ; [SetAnimationDelegate UIView: self]; @selector ( removeView ) ] ; [UIView setAnimationDidStopSelector: @ selector (removeView)]; ; myView.alpha = 0; ; [CommitAnimations UIView]; / / void ) removeView { - (Void) {removeView ; [MyView removeFromSuperview]; } |
come delegato e tramite la setAnimationDidStopSelector gli invia un messaggio removeView quando l'animazione è terminata. Dans le code ci-dessus l' setAnimationDelegate mis self en tant que délégué et par setAnimationDidStopSelector envoie un message removeView lorsque l'animation est terminée. Le code lui-même est correct, cependant, fait usage d'une définition de message ( removeView ) qui pourraient être omis. Maintenant, voici le même code, avec le même effet, sans le message removeView :
1 2 3 4 5 6 7 8 9 | nil context : NULL ] ; [BeginAnimations UIView: contexte nul: NULL]; 1.5 ] ; [UIView setAnimationDuration: 1,5]; UIViewAnimationCurveEaseInOut ] ; [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut]; myView ] ; [SetAnimationDelegate UIView: myView]; @selector ( removeFromSuperview ) ] ; [UIView setAnimationDidStopSelector: @ selector (removeFromSuperview)]; ; myView.alpha = 0; ; [CommitAnimations UIView]; |
! La chose intéressante à propos de cette approche est que myView pourrait être une sous-classe de UIView ! Il peut donc être une classe personnalisée avec nos propres messages et, comme indiqué, facilement appelables depuis setAnimationDidStopSelector . En outre, le setAnimationDidStopSelector sélecteurs d'accord avec les paramètres:
1 2 3 4 5 6 7 8 9 | nil context : NULL ] ; [BeginAnimations UIView: contexte nul: NULL]; 1.5 ] ; [UIView setAnimationDuration: 1,5]; UIViewAnimationCurveEaseInOut ] ; [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut]; myView ] ; [SetAnimationDelegate UIView: myView]; @selector ( myMessage : param1 : ) ] ; [UIView setAnimationDidStopSelector: @ selector (myMessage: param1:)]; ; myView.alpha = 0; ; [CommitAnimations UIView]; |
Cet exemple peut être étendu à tous les cas ici, où nous installons un délégué, Atro n'est pas un pointeur vers une instance de n'importe quel objet.






Derniers Commentaires
kainone : Mais comment pouvez-vous créer le pouce et l'attacher à la poste à imamgine?
Mark : @ Marc: Merci pour la réponse. Par exemple, si vous avez un code de sauvegarder / utiliser le dossier ...
Mark : Merci pour la réponse. Par exemple, si vous avez un code de sauvegarder / utiliser le dossier ...
Giovambattista Fazioli : @ Marc: en principe, absolument, beaucoup dépend de comment et quoi télécharger. La. ..
Mark : Bonjour, bon guide! Je voulais vous demander, vous pouvez utiliser le même code à exécuter une base de données SQL? Au lieu de ...