О базовой анимации

Базовая Анимация является графической инфраструктурой рендеринга и анимации, доступной и на iOS и на OS X, который Вы используете для анимации представлений и других визуальных элементов приложения. С Базовой Анимацией большая часть работы, требуемой нарисовать каждый кадр анимации, выполнена для Вас. Все, что необходимо сделать, конфигурируют несколько параметров анимации (таких как запуск и конечные точки) и говорят Базовой Анимации запускаться. Базовая Анимация делает остальные, передавая большую часть фактического получения работают к встроенному аппаратному обеспечению машинной графики для ускорения рендеринга. Это автоматическое графическое ускорение приводит к высоким частотам кадров и плавным анимациям, не обременяя CPU и замедляя Ваше приложение.

Если Вы пишете приложения для iOS, Вы используете Базовую Анимацию, знаете ли Вы это или нет. И если Вы пишете приложения OS X, можно использовать в своих интересах Базовую Анимацию с чрезвычайно маленьким усилием. Базовая Анимация находится ниже AppKit и UIKit и интегрируется плотно в потоки операций представления Касания Какао и Какао. Конечно, Базовая Анимация также имеет интерфейсы, расширяющие возможности, представленные представлениями Вашего приложения, и дающие Вам больше тонкозернистого контроля над анимациями Вашего приложения.

../Art/ca_architecture_2x.png

Сразу

Вы никогда, возможно, не должны использовать Базовую Анимацию непосредственно, но когда Вы делаете необходимо понять роль, которую Базовая Анимация играет как часть инфраструктуры приложения.

Базовая анимация управляет содержанием Вашего приложения

Базовая Анимация не является самой системой получения. Это - инфраструктура для составления композита и управления содержанием Вашего приложения в аппаратных средствах. В основе этой инфраструктуры расположенные на слое объекты, которые Вы используете, чтобы управлять Вашим содержанием. Уровень получает Ваше содержание в битовый массив, которым может управлять легко аппаратное обеспечение машинной графики. В большинстве приложений уровни используются в качестве способа управлять содержанием представлений, но можно также создать автономные уровни в зависимости от потребностей.

Триггерные анимации модификаций уровня

Большинство анимаций Вы создаете использующую Базовую Анимацию, включает модификацию свойств уровня. Как представления, расположенные на слое объекты имеют прямоугольник границ, позиция на экране, непрозрачность, преобразование и много других визуально ориентированных свойств, которые могут быть изменены. Для большинства этих свойств, изменяя результаты значения свойства в создании неявной анимации, посредством чего уровень анимирует от старого значения до нового значения. Можно также явно анимировать эти свойства в случаях, где Вы хотите больше управления получающимся поведением анимации.

Уровни могут быть организованы в иерархии

Уровни могут быть расположены иерархически для создания отношений отцов и детей. Расположение уровней влияет на визуальное содержание, которым они управляют в пути, который подобен представлениям. Иерархия ряда уровней, которые присоединены к представлениям, зеркально отражает соответствующую иерархию представления. Можно также добавить автономные уровни в иерархию слоев для расширения визуального содержания приложения вне просто представлений.

Действия позволяют Вам изменить поведение уровня по умолчанию

Неявные анимации уровня достигаются с помощью объектов действия, которые являются родовыми объектами, реализующими предопределенный интерфейс. Базовая Анимация использует объекты действия для реализации набора по умолчанию анимаций, обычно связанных с уровнями. Можно создать собственные объекты действия, чтобы реализовать пользовательские анимации или использовать их для реализации других типов способов поведения также. Вы тогда присваиваете свой объект действия одному из свойств уровня. Когда то свойство изменяется, Базовая Анимация получает Ваш объект действия и говорит ему выполнять свое действие.

Как использовать этот документ

Этот документ предназначается для разработчиков, которым нужно больше управления анимациями их приложения или кто хочет использовать уровни для улучшения производительности получения их приложений. Этот документ также предоставляет информацию об интеграции между уровнями и представлениями и для iOS и для OS X. Интеграция между уровнями и представлениями отличается на iOS и OS X и понимающий, что те различия важны для способности создать эффективные анимации.

Предпосылки

Необходимо уже понять архитектуру представления целевой платформы и быть знакомы с тем, как создать основанные на представлении анимации. В противном случае необходимо считать один из следующих документов:

См. также

Для примеров того, как реализовать определенные типы анимаций с помощью Базовой Анимации, см. Базовую Поваренную книгу Анимации.