• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Repeat bei Animation Blocks

MoFuRo

Jamba
Registriert
10.06.10
Beiträge
55
Hallo zusammen,

ich versuche gerade eine View zu animieren und bin dabei auf Animation Blocks gestoßen. Wie kann ich es erreichen das die Animation wiederholt, so oft wie ich es möchte?

Es sieht momentan folgendermaßen aus:

Code:
[UIView animateWithDuration:1.6
			 animations:^{
                                  view.alpha = 0.0;
			}
			completion:^(BOOL finished){
				view.alpha = 1.0;
			 }];

Vielleicht kann mir auch jemand erklären wieso die die Views nicht mehr auf User Interaktionen reagieren.

Wenn ich meine Animation mit diesem Block mache, dann kann ich noch interagieren während die Animation ausgeführt wird.

Code:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDuration:0.5f];
			
view.alpha = 0.0;

[UIView commitAnimations];
 
Zuletzt bearbeitet:
Du könntest das alles in eine eigene Methode packen und diese mit delay 0.0 aus der completion wieder aufrufen.
Das ganze eben verknüpfen mit einer Abbruchbedingung (z.B. bestimmte Anzahl an Loops erreicht).

User Interaction muss bei Block Animations gezielt eingeschaltet werden. (Such mal nach UIViewAnimationOptionAllowUserInteraction in der Doku.)