è estremamente versatile, come già visto in setAnimationDidStopSelector: usi diversi ed avanzati . Die Einstellung der Ende der Animation, mit ausgeführt setAnimationDidStopSelector , einer Klasse von UIView ist extrem vielseitig, wie in gesehen setAnimationDidStopSelector: verschiedene Verwendungen und Fortgeschrittene .
Lassen Sie mich Ihnen nun eine Technik sehr bequem, wenn wir mehrere Animationen und / oder haben wollen, um die Warteschlangen (Queue) von Animationen zu verwalten.
Artikel Tagged 'setAnimationDidStopSelector "
Objective-C: Verarbeitung mehrerer Animationen mit einer einzigen setAnimationDidStopSelector
setAnimationDidStopSelector: verschiedene Verwendungen und Fortgeschrittene
In den meisten Fällen, oder weil wir es gewohnt, oder weil wir haben in Tutorien gesehen und in einigen Texten, verwenden wir die setAnimationDidStopSelector auf diese Weise:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | nil context : NULL ] ; [UIView beginAnimations: nil context: NULL]; 1.5 ] ; [UIView setAnimationDuration: 1,5]; UIViewAnimationCurveEaseInOut ] ; [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut]; self ] ; [UIView setAnimationDelegate: self]; @selector ( removeView ) ] ; [UIView setAnimationDidStopSelector: @ selector (removeView)]; ; myView.alpha = 0; ; [UIView commitAnimations]; / / void ) removeView { - (Void) {removeView ; [MyView removeFromSuperview]; } |
come delegato e tramite la setAnimationDidStopSelector gli invia un messaggio removeView quando l'animazione è terminata. In den obigen Code die setAnimationDelegate Satz self als Delegierter und durch setAnimationDidStopSelector sendet eine Nachricht removeView , wenn die Animation beendet ist. Der Code selbst ist richtig, aber nutzt eine Nachricht Definition ( removeView ), die weggelassen werden könnte. Nun, hier ist der gleiche Code, mit dem gleichen Effekt, ohne die Nachricht removeView :
1 2 3 4 5 6 7 8 9 | nil context : NULL ] ; [UIView beginAnimations: nil context: NULL]; 1.5 ] ; [UIView setAnimationDuration: 1,5]; UIViewAnimationCurveEaseInOut ] ; [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut]; myView ] ; [UIView setAnimationDelegate: myView]; @selector ( removeFromSuperview ) ] ; [UIView setAnimationDidStopSelector: @ selector (removeFromSuperview)]; ; myView.alpha = 0; ; [UIView commitAnimations]; |
! Das Interessante an diesem Ansatz ist, dass myView könnte eine Unterklasse von werden UIView ! Es kann daher eine benutzerdefinierte Klasse mit eigenen Nachrichten und, wie gesagt, leicht aufrufbar sein setAnimationDidStopSelector . Darüber hinaus die setAnimationDidStopSelector einverstanden Selektoren mit den Parametern:
1 2 3 4 5 6 7 8 9 | nil context : NULL ] ; [UIView beginAnimations: nil context: NULL]; 1.5 ] ; [UIView setAnimationDuration: 1,5]; UIViewAnimationCurveEaseInOut ] ; [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut]; myView ] ; [UIView setAnimationDelegate: myView]; @selector ( myMessage : param1 : ) ] ; [UIView setAnimationDidStopSelector: @ selector (myMessage: param1:)]; ; myView.alpha = 0; ; [UIView commitAnimations]; |
Dieses Beispiel auf alle Fälle hier, wo wir ein Delegierter erweitert werden kann, ist Atro nicht einen Zeiger auf eine Instanz eines Objekts.






Neueste Kommentare
Robert : Ich rispsoto Ihre Fragen gerne. Die Idee ist wirklich toll. Ich bin für eine Lösung suchen ...
Sting : @ Darius - Sie können ein Beispiel finden Sie hier: http://www.fight4fun.it/ Klick auf: MAPS Ich hoffe, ...
vik : Giustappunto Ich bin an einem Projekt arbeiten und der Kunde hat mich gebeten, alle Nachrichten (die CPT) in Show ...
Giovambattista Fazioli : @ paso: absolut. Einfach Identifizierung des Feldes [cci] Eingang [/ cci] Sie wollen ...
paso : Hallo, ich möchte eine Service-Anfrage, können Sie die datepicker mit cform7 ich spiegp gut ich kann zu implementieren ...