Анимации свойства стиля слоя

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

Свойства геометрии

Свойства геометрии уровня указывают, как это выведено на экран относительно ее родительского слоя. Геометрия также указывает радиус, привыкший к раунду углы уровня и преобразование, применяющееся к уровню и его подуровням. Рисунок a-1 показывает ограничительный прямоугольник уровня в качестве примера.

  Геометрия Уровня рисунка a-1
Layer geometry

Следующий CALayer свойства указывают геометрию уровня:

Фоновые свойства

Первой вещью, которую представляет Анимация Ядра, является фон уровня. Можно указать цвет для фона. В OS X можно также указать Базовый фильтр Изображения, что Вы хотите примениться к фоновому содержанию. Рисунок a-2 показывает две версии демонстрационного уровня. Уровень слева имеет backgroundColor набор свойств, в то время как уровень справа не имеет никакого цвета фона, но действительно имеет границу некоторым содержанием и фильтром искажения повышения присвоенный backgroundFilters свойство.

  Уровень рисунка a-2 с цветом фона
Layer with background colorLayer with background color

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

Следующий CALayer свойства влияют на дисплей фона уровня:

Содержание уровня

Если уровень имеет какое-либо содержание, то содержание представляется поверх цвета фона. Можно обеспечить содержание уровня путем установки битового массива непосредственно, при помощи делегата для указания содержания, или путем разделения на подклассы уровня и рисования содержания непосредственно. И можно использовать много различных технологий получения (включая Кварц, Металл, OpenGL и Кварцевого Композитора) для обеспечения того содержания. Рисунок a-3 показывает демонстрационный уровень, содержание которого является битовым массивом, установленным непосредственно. Растровое содержание состоит из в основном прозрачного пространства со значком Automator в правом нижнем углу.

  Уровень рисунка a-3, выводящий на экран растровое изображение
Layer displaying a content image

Уровни с угловым радиусом автоматически не отсекают свое содержание; однако, установка уровня masksToBounds свойство к YES действительно заставляет уровень отсекать к его угловому радиусу.

Следующий CALayer свойства влияют на дисплей содержания уровня:

Содержание подуровней

Любой уровень может содержать один или несколько дочерних уровней, известных как подуровни. Подуровни представлены рекурсивно и расположены относительно прямоугольника границ родительского слоя. Кроме того, Базовая Анимация применяет родительский слой sublayerTransform к каждому подуровню относительно точки привязки родительского слоя. Можно использовать подуровня, преобразовывают для применения перспективы и других эффектов ко всем уровням одинаково. Рисунок a-4 показывает демонстрационный уровень с двумя подуровнями. В то время как версия справа не делает, версия слева включает цвет фона.

  Уровень рисунка a-4, выводящий на экран содержание подуровней
Layer displaying the sublayers contentLayer displaying the sublayers content

Установка masksToBounds свойство уровня к YES причины любые подуровни, которые будут отсечены к границам уровня.

Следующий CALayer свойства влияют на дисплей подуровней уровня:

Атрибуты границы

Уровень может вывести на экран дополнительную границу с помощью указанного цвета и ширины. Граница следует за прямоугольником границ уровня и принимает во внимание любые угловые значения радиуса. Рисунок a-5 показывает демонстрационный уровень после применения границы. Заметьте, что содержание и подуровни, которые являются вне границ уровня, представляются под границей.

  Уровень рисунка a-5, выводящий на экран границу, приписывает содержание
Layer displaying the border attributes content

Следующий CALayer свойства влияют на дисплей границ уровня:

Свойство фильтров

В OS X можно применить один или несколько фильтров к содержанию уровня и использовать пользовательский фильтр составления композита, чтобы указать, как содержание уровня смешивается с содержанием его нижележащего слоя. Рисунок a-6 показывает, что демонстрационный уровень с Базовым Изображением постеризирует примененный фильтр.

  Уровень рисунка a-6, выводящий на экран свойства фильтров
Layer displaying the filters properties

Следующий CALayer свойство указывает фильтры контента уровней:

Теневые свойства

Уровни могут вывести на экран эффекты тени и сконфигурировать их форму, непрозрачность, цвет, смещение и радиус размытия. Если Вы не указываете пользовательскую теневую форму, тень основывается на частях уровня, которые не полностью прозрачны. Рисунок a-7 показывает несколько различных версий того же демонстрационного уровня с красной примененной тенью. Левые и средние версии включают цвет фона, таким образом, тень появляется только вокруг границы уровня. Однако версия справа не включает цвет фона. В этом случае тень применяется к содержанию уровня, границе и подуровням.

  Уровень рисунка a-7, выводящий на экран теневые свойства
Layer displaying the shadow propertiesLayer displaying the shadow properties

Следующий CALayer свойства влияют на дисплей тени уровня:

Свойство непрозрачности

Свойство непрозрачности уровня определяет, сколько фоновое содержание показывает через уровень. Рисунок a-8 показывает демонстрационный уровень, непрозрачность которого установлена в 0.5. Это позволяет частям фонового изображения показывать через.

  Уровень рисунка a-8 включая свойство непрозрачности
Layer including the opacity property

Следующий CALayer свойство указывает непрозрачность уровня:

Свойства маски

Можно использовать маску для затемнения всех или части содержания уровня. Маска является самостоятельно расположенным на слое объектом, альфа-канал которого используется для определения то, что блокируется и что передается. Непрозрачные части содержания маскирующего слоя позволяют содержанию нижележащего слоя показывать через в то время как прозрачные части частично или полностью неясный базовое содержание. Рисунок a-9 показывает демонстрационный уровень, составленный с маскирующим слоем и двумя различными фонами. В левой версии непрозрачность уровня установлена в 1,0. В правильной версии непрозрачность уровня установлена в 0,5, который увеличивает сумму фонового содержания, передающегося через маскированный участок уровня.

  Уровень рисунка a-9 составил композит со свойством маски
Layer composited with the mask propertyLayer composited with the mask property

Следующий CALayer свойство указывает маску для уровня: