2009-05-17 2 views
1

Ich habe ein iPhone-Programm, das aus einer Reihe von UIView s besteht, die auf einem anderen UIView sitzen, und das kann verschoben werden. Ich zeichne Verbindungen zwischen der UIView s unter Verwendung der drawRect: Methode in der enthaltenen UIView. Es funktioniert alles super.Wie kann ich eine Benachrichtigung für jeden Frame in Core Animation erhalten?

Das einzige Problem ist, dass wenn ich Animation verwende, um die Ansichten zu verschieben, der Hintergrund nicht aktualisiert wird. Ich habe versucht, Schlüssel-Wert-Beobachtung auf den Eigenschaften der Ansichten zu verwenden, aber ich werde nicht benachrichtigt, wenn sie sich während der Animation ändern.

Gibt es eine Möglichkeit, mein containing UIView neu zu zeichnen, während die Animation ausgeführt wird?

Antwort

0

Ich glaube nicht, dass dies für CAAnimation existiert. Es gibt eine Möglichkeit, dies mit NSAnimation auf dem Mac zu tun, aber es gibt kein Äquivalent, das ich in CAAnimation kenne. Das sagte ....

Eine bessere Lösung für dies wäre wahrscheinlich, die Verbindungen selbst auf CALayers zu setzen und sie genau zu animieren, wie Sie die UIViews animieren, jede Verbindung selbst zeichnen, anstatt die Superview zeichnen alle von Sie. Ich würde es wahrscheinlich sogar mit NSAnimation auf Mac machen.

+0

Danke, das habe ich mir gedacht - ich wollte nur sehen, ob mir etwas fehlt. Ich muss mehr über Core Animation lesen, ich wollte gerade zu OpenGL wechseln. Aber ich würde lieber mit Quartz bleiben, wenn ich kann. –

Verwandte Themen