Gibt es Gründe, UIView Animation über einen Core Animation Techniken zu benutzen?
-
07-07-2019 - |
Frage
Ich arbeite an einem Snow Leopard app und ich habe einige Ansicht Animationen tun (Swapping sie) und ich habe einige ältere Beispiele mit NSViewAnimation gesehen. Ich frage mich, ob diese vollständig von Core Animation verworfen werden?
Es scheint ziemlich einfach für mich zu verwenden, um
[[myView animator] setFrame:newSwapFrame];
Aber ich frage mich nur, wenn ich etwas fehlt oder wenn NSViewAnimation noch relevant ist (außer für die Abwärtskompatibilität).
Lösung
Generell sollten Sie auf Core Animation bewegen für 10.5+ Code. NSViewAnimation
ist ziemlich primitiv und nicht als eine effiziente Nutzung der Hardware machen. Ich kann mir keine Vorteile mit NSViewAnimation
bleiben andere als 10.4-Kompatibilität.
Andere Tipps
Es gibt einige Fälle, in denen Core Animation nicht geeignet ist. Zum Beispiel können Sie keine WebView in einer Schicht-backed Ansicht setzen, ohne abgefahrene Dinge passiert.
Auch Textfelder in Schicht-backed Ansichten verwenden Subpixel-Anti-Aliasing nicht, das ist ein Deal Breaker werden kann.
Wenn Sie nicht Schicht-backed Ansichten verwenden dann Beispiel nur die animierbaren Eigenschaft Unterstützung verwendet, ist auf jeden Fall einfacher als NSAnimation verwendet wird.
Wenn Sie Fenster Screenshot müssen später bekommen (wie beispielsweise Übergangsanimation zwischen zwei Fensterzuständen zu machen), die Kern Animated Ansichten (Ansicht mit CAAnimation
) können packt nicht.
Aber CAAnimation
immer arbeitet schnell, und NSAnimation
kann verlangsamt, wenn die CPU zu beschäftigt ist.