Есть ли причина использовать анимацию UIView поверх базовой анимации?
-
07-07-2019 - |
Вопрос
Я работаю над приложением Snow Leopard и делаю некоторые виды анимации (меняя их местами), и я видел несколько старых примеров с использованием NSViewAnimation. Мне интересно, полностью ли они устарели в Core Animation?
Мне кажется, довольно просто использовать
[[myView animator] setFrame:newSwapFrame];
Но мне просто интересно, что я что-то упустил или NSViewAnimation все еще актуальна (кроме обратной совместимости).
Решение
Как правило, вы должны перейти на Core Animation для кода 10.5+. NSViewAnimation
довольно примитивен и не так эффективно использует аппаратное обеспечение. Я не могу думать о каких-либо преимуществах использования NSViewAnimation
, кроме совместимости с 10.4.
Другие советы
В некоторых случаях Core Animation не подходит. Например, вы не можете поместить WebView в представление на основе слоев без каких-либо забавных вещей.
Кроме того, текстовые поля в представлениях со слоем не используют субпиксельное сглаживание, что может нарушить условия сделки.
Если вы не используете представления со слоями, тогда ваш пример использования поддержки анимируемых свойств определенно проще, чем использование NSAnimation.
Если вам потребуется получить снимок экрана позже (например, для анимации перехода между двумя состояниями окна), представления Core Animated (представление с помощью CAAnimation
) могут быть не получены.
Но CAAnimation
всегда работает быстро, и NSAnimation
может замедляться, если процессор слишком загружен.