2012-04-05 5 views
0

Ich habe eine Reihe von Situationen in meiner Anwendung, wo ich mit einem CATransition von einer Ansicht zu einer anderen wechseln. In der Ansicht, zu der gewechselt wird, gibt es oft eine Grafik, die von CoreGraphics gezeichnet wurde. Um des Arguments willen sagen wir, es sind ein paar Quadrate. Wenn Sie jedoch in die Ansicht animieren, stottert die Animation in der Mitte des Übergangs für einen Sekundenbruchteil, während sie die Grafik zum ersten Mal zeichnet.Zeichnen Sie CoreGraphics auf dem Bildschirm, um das Stottern der Animation während der Übergänge zu verhindern?

Gibt es eine (hoffentlich einfache) Möglichkeit, diese Ansicht mit ihren eigenen Grafiken vor dem Beginn der Animation vorzuzeichnen, damit dieses Stottern nicht auftritt?

+0

Ich habe es geschafft, Stottern in meinen Animationen zu reduzieren (was eine Opazitätsänderung ist), indem ich den Anfangswert auf der Ebene festlege, und so früh wie möglich, bevor ich die Animation spiele. – Henrik

Antwort

0

Setzen Sie shouldRasterize auf YES auf der Ebene.

+0

Ich habe bereits diesen Satz, aber ich bekomme immer noch ein Stottern, wenn es einschiebt. Ich habe sogar den Layer manuell gerastert, indem ich die Zeichnung in eine Bitmap aufgenommen habe, und die Bitmap, wo die Zeichnung ist, dann das Bild für die Zeichnung, sobald die Animation abgeschlossen ist, aber es ist immer noch ein Stottern. Dies ist nicht wirklich die Antwort, nach der ich gesucht habe, aber kann einigen Leuten helfen, also markiere ich es als die Antwort, es sei denn, jemand findet eine bessere Lösung. – Dermot

+0

Welche CATransition verwenden Sie? –

+0

CATransitionPush und der Untertyp ist TransitionFromTop. Beachten Sie, dass ich in einem anderen Fall die neue Ansicht der PARENT-Ansicht der aktuellen Ansicht an der Position 0,480,320,480 (unten auf dem Bildschirm) hinzufüge und dann die aktuelle Ansicht mithilfe von UIKit-Animation auf 0, -480,320,480 und die neue Ansicht auf 0 animiere , 0,480,320, und dann die alte Ansicht aus dem Subview-Array entfernen. Immer noch ein bisschen stottern – Dermot

Verwandte Themen