2010-11-01 8 views
12

J'ai regardé les méthodes d'animation par blocs et j'ai remarqué qu'il n'y a pas de paramètre ou d'option équivalent pour [UIView setAnimationRepeatCount:].Nombre de répétitions pour l'animation basée sur des blocs UIView

Quelle est la manière la plus simple de répéter une animation un nombre fixe de fois? Est-ce que vous les enchaînez, par exemple, en utilisant le bloc d'achèvement?

+0

Je ne l'ai pas eu. Il existe une méthode setAnimationRepeatCount dans UIView. Quel est votre problème en réalité? – taskinoor

+0

Voir les méthodes dans la documentation de UIView sous la rubrique 'Animation de vues avec des blocs'. Ils ne se mélangent pas avec les anciennes méthodes 'Animating Views'. –

Répondre

2

Définissez un rappel de fin - relancez l'animation - et gardez la trace du compteur vous-même.

+0

C'était aussi ma réponse. J'espérais juste qu'il existe une solution plus simple. –

+4

Pour un cas d'utilisation où le texte devrait clignoter 3 fois ... Je n'avais pas besoin de garder trace du compteur, je devais simplement régler setAnimationRepeatCount' avant les animations dans le bloc 'animations', afin qu'il puisse être efficace: https://gist.github.com/pulkitsinghal/6152975 – pulkitsinghal

22

Je viens de poser une question similaire, puis j'ai lu la version 2010-11-15 du Guide de programmation View pour iOS. Page 64 a attiré mon attention. Dans le bloc d'animation, on peut toujours utiliser le [UIView setAnimationRepeatCount:]. Je pensais que je pouvais/ne devrais pas. Donc, ma capacité à lire Apple doc doit s'améliorer.

Alors peut-être cela résoudrait votre (et mon besoin). Je l'essaie plus tard aujourd'hui

+4

lien vers la documentation: http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/UIView/UIView.html # // apple_ref/doc/uid/TP40006816-CH3-SW38 – DonnaLea

5

Comme @PommeOuest mentionné. Vous pouvez toujours utiliser [UIView setAnimationRepeatCount:] dans le bloc d'animation. J'ai juste essayé dans mon projet et ça marche bien. J'utilise XCode4 et iOS5.