• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

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.)