• 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

Ein Rad drehen

JaCyB

Golden Delicious
Registriert
11.08.11
Beiträge
8
Hi,

ich habe eine Frage: Ich möchte das sich ein Rad bei einem Auto dreht. Dafür ist das Rad ein einzelner UIImageView. Dieser soll sich drehen. Dafür verwende ich folgenden Code:


Code:
- (void)viewDidLoad {

[super viewDidLoad];

[UIView beginAnimations:nil  context:NULL];
[UIView setAnimationDuration:3];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];

radVorne.transform = CGAffineTransformMakeRotation(M_PI * 2);
[UIView commitAnimations];
}

Leider findet keine Animation statt. Das Quartz Framwork ist eingebunden und #importiert in die heder Datei.

Was mache ich falsch?

Danke für eure Hilfe :)
JACYB


Edit:
Wenn ich den Code folgendermaßen ändere kann ich sehen dass sich das Rad gedreht hat, allerdings findet trotzdem keine Animation statt :/
Code:
radVorne.transform = CGAffineTransformMakeRotation(M_PI);
 
Eine Rotationsbewegung ist auf diese Weise nur bis maximal 180 Grad möglich.
Siehe hier.

Die halbe Umdrehung (aus deinem Edit) sollte aber eigentlich auch animiert angezeigt werden.
An dem Code da oben liegt es glaub ich nicht.
 
In viewDidLoad ist der View zwar geladen, aber noch nicht auf dem Bildschirm angezeigt! In der Methode etwas animieren zu wollen ist daher sinnlos. viewDidAppear: wäre der richtige Ort.
 
  • Like
Reaktionen: Nathea
Danke, für die Hilfe. Jetzt funktioniert es :)