Une raison d'utiliser les techniques UIView Animation sur Core Animation?
-
07-07-2019 - |
Question
Je travaille sur une application Snow Leopard, je fais des animations d'affichage (en les échangeant) et j'ai vu des exemples plus anciens utiliser NSViewAnimation. Je me demande si ceux-ci sont complètement obsolètes par Core Animation?
Il me semble assez simple d'utiliser
[[myView animator] setFrame:newSwapFrame];
Mais je me demande simplement s'il me manque quelque chose ou si NSViewAnimation est toujours pertinent (autre que pour la compatibilité ascendante).
La solution
En règle générale, vous devez passer à Core Animation pour le code 10.5+. NSViewAnimation
est relativement primitif et n'utilise pas le matériel de manière aussi efficace. Je ne vois aucun avantage à rester avec NSViewAnimation
autre que la compatibilité 10.4.
Autres conseils
Dans certains cas, Core Animation ne convient pas. Par exemple, vous ne pouvez pas placer WebView dans une vue sauvegardée sur des couches sans que rien ne se passe génial.
De plus, les champs de texte dans les vues sauvegardées sur des couches n'utilisent pas l'anti-aliasing de sous-pixels, ce qui peut constituer un facteur de rupture de transaction.
Si vous n'utilisez pas de vues sauvegardées sur des calques, votre exemple d'utilisation de la prise en charge des propriétés pouvant être animées est nettement plus simple que l'utilisation de NSAnimation.
Si vous devez obtenir une capture d'écran de la fenêtre ultérieurement (par exemple, pour créer une animation de transition entre deux états de la fenêtre), les vues Core Animated (vue avec CAAnimation
) peuvent ne pas être capturées.
Mais CAAnimation
fonctionne toujours rapidement et NSAnimation
peut ralentir si le processeur est trop occupé.