Ich hatte das gleiche Problem und ich denke, ich fand die Lösung auf diesem SO Frage .
Wenn viewDidAppear aufgerufen wird, sehen Sie immer noch nichts auf dem Bildschirm (trotz des Namens), aber Sie sind dabei. Sie können dann einen performSelector: withDelay oder einen NSTimer verwenden, um Ihre Animation zu starten. Die Verzögerung kann nur 0,1 sein und Ihre Animation wird nur abgespielt, wenn der Bildschirm erscheint.
%Vor% Sie sagen nicht, in welchen Zustand es sich bewegen soll, damit es nichts bewirkt. Sie müssen Code zwischen beginAnimations:context:
und commitAnimations
einfügen, der das Aussehen der Ansicht ändert (z. B. indem Sie eine Unteransicht entfernen und eine weitere hinzufügen).
Sie verwenden beginAnimations:
und commitAnimations
nicht korrekt. Sie sollten etwas dazwischen legen, das normalerweise nicht animiert wäre: z.B. Mit self.view.alpha = 0.5
erhalten Sie einen Fading-Effekt. Sie haben keine Auswirkungen auf etwas, das nicht zwischen ihnen liegt.
Nach dem Aufruf von viewDidAppear:
ist Ihre Ansicht, naja ... erschienen. Es ist zu spät, um etwas zu animieren. Was Sie eigentlich tun möchten, ist etwa so:
Im obigen Beispiel heißt childView
in Ihrem Beispiel self.view
.
Bitte schreiben Sie den Namen des Übergangs; niemand weiß, was 110 ist, wenn man es betrachtet. Es ist ein schlechter Stil. & lt; / Pedanterie & gt;
Tags und Links iphone xcode uiview viewdidload viewdidappear