Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы AppKit ссылка на протокол NSAnimatablePropertyContainer

Опции
Развертывание Target:

На этой странице
Язык:

NSAnimatablePropertyContainer

Протокол NSAnimatablePropertyContainer определяет способ добавить анимацию к существующему классу с минимумом влияния API. Это возвращает объект прокси для получателя, который может использоваться для инициирования подразумеваемой анимации изменений свойства. Прокси аниматора объекта должен быть обработан, как будто это было самим объектом и может быть передано любому коду, принимающему объект в качестве параметра. Отправка кодирующих значение ключа совместимых сообщений «набора» к прокси инициирует анимацию для автоматически анимированных свойств ее целевого объекта.

Автоматически анимированные свойства объекта - те для который NSAnimatablePropertyContainer находит и возвращает CAAnimation вместо ноля, часто потому что animator указывает анимацию по умолчанию для ключа.

Это совершенно допустимо для установки нового значения для свойства, для который анимация, которая в настоящее время происходит; это просто устанавливает новое целевое значение для того свойства с анимацией к новому целевому происхождению безотносительно текущей стоимости, которой достигло свойство. Анимация свойства в полете может быть остановлена путем установки нового значения для свойства, заключенного в скобки NSAnimationContext с 0,0 как продолжительность.

Наследование


Не применимый

Соответствует


Не применимый

Оператор импорта


Swift

import AppKit

Objective C

@import AppKit;

Доступность


Доступный в OS X v10.5 и позже.
  • Возвращает объект прокси для получателя, который может использоваться для инициирования подразумеваемой анимации для изменений свойства. (требуемый)

    Объявление

    Swift

    func animator() -> Self!

    Objective C

    - (instancetype)animator

    Возвращаемое значение

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

    Обсуждение

    Объект прокси аниматора должен быть обработан, как будто это было самим получателем и может быть передано любому коду, принимающему получатель в качестве параметра.

    Отправка значения ключа, кодирующего совместимые сообщения «набора» к прокси, инициирует анимацию для автоматически анимированных свойств ее целевого объекта, если активное NSAnimationContext в текущем потоке имеет значение продолжительности, больше, чем нуль, и анимация для ключа свойства найдена NSAnimatablePropertyContainer поисковый механизм.

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвращает дополнительный словарь, отображающий триггерные ключи события на объекты Animation. (требуемый)

    Объявление

    Swift

    func animations() -> [NSObject : AnyObject]

    Objective C

    - (NSDictionary *)animations

    Возвращаемое значение

    Анимации как словарь.

    Обсуждение

    Когда действие происходит, который может инициировать анимацию NSAnimatablePropertyContainer метод сначала смотрит в этом словаре для анимации, соответствующей ключ. Как правило, ключ назовет свойство объекта, значение которого только что изменилось, но это может указать триггер специального мероприятия (NSAnimationTriggerOrderIn или NSAnimationTriggerOrderOut).

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.5 и позже.

  • Устанавливает словарь опции, отображающий триггерные ключи события на объекты Animation. (требуемый)

    Объявление

    Swift

    func setAnimations(_ dict: [NSObject : AnyObject]!)

    Objective C

    - (void)setAnimations:(NSDictionary *)dict

    Параметры

    dict

    Словарь, содержащий событие, инициировал ключи и связанные объекты Animation.

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвращает анимацию, которая должна быть выполнена для указанного ключа. (требуемый)

    Объявление

    Swift

    func animationForKey(_ key: String) -> AnyObject?

    Objective C

    - (id)animationForKey:(NSString *)key

    Параметры

    key

    Имя действия или свойство, указанное как строка.

    Возвращаемое значение

    Анимация для выполнения. Подкласс CAAnimation.

    Обсуждение

    Когда действие, указанное key инициирован для объекта, с этим методом консультируются для нахождения анимации, если таковые имеются, который должен быть выполнен в ответ.

    Как его Базовая Анимация CALayer дубликат, actionForKey:, этот метод является точкой трубы, определяющей порядок, в котором продолжается поиск анимации. Это сначала проверяет получатель “Getting the Animator Proxy” словарь для соответствия значения key, тогда отступает к animator для класса получателя.

    Подклассы не должны обычно должны быть переопределять этот метод.

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвращает анимацию по умолчанию, которая должна быть выполнена для указанного ключа. (требуемый)

    Объявление

    Swift

    class func defaultAnimationForKey(_ key: String!) -> AnyObject!

    Objective C

    + (id)defaultAnimationForKey:(NSString *)key

    Параметры

    key

    Имя действия или свойство, указанное как строка.

    Возвращаемое значение

    Анимация для выполнения. Подкласс CAAnimation.

    Обсуждение

    NSAnimatablePropertyContainer метод консультируется с этим методом класса когда его поиск получателей “Getting the Animator Proxy” словарю не удается возвратить анимацию для key.

    animatable контейнер свойства должен реализовать этот метод для возврата анимации по умолчанию, которая будет выполняться для каждого ключа, что это хочет сделать auto-animatable, где key обычно ссылается на свойство получателя, но может также указать специальный триггер анимации (NSAnimationTriggerOrderIn или NSAnimationTriggerOrderOut).

    Разработчик, реализующий пользовательский подкласс представления, может включить автоматическую анимацию для свойств путем переопределения этого метода, и наличие его возвращает желаемое значение по умолчанию CAAnimation разделите на подклассы для использования для каждого из ключей свойства интереса. Переопределение должно подчиниться супер для любых ключей, которые оно в частности не обрабатывает, упрощая наследование спецификаций анимации по умолчанию. Следующее является примером такой реализации.

    • @implementation MyView
    • + (id)defaultAnimationForKey:(NSString *)key {
    • if ([key isEqualToString:@"borderColor"]) {
    • // By default, animate border color changes with simple linear interpolation to the new color value.
    • return [CABasicAnimation animation];
    • } else {
    • // Defer to super's implementation for any keys we don't specifically handle.
    • return [super defaultAnimationForKey:key];
    • }
    • }
    • @end

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.5 и позже.

  • Следующие константы определяют ключи, ссылающиеся на переходы, используемые, поскольку представления сделаны видимыми и скрытыми.

    Объявление

    Swift

    var NSAnimationTriggerOrderIn: NSString! var NSAnimationTriggerOrderOut: NSString!

    Objective C

    NSString *NSAnimationTriggerOrderIn; NSString *NSAnimationTriggerOrderOut;

    Константы

    • NSAnimationTriggerOrderIn

      NSAnimationTriggerOrderIn

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

      Доступный в OS X v10.5 и позже.

    • NSAnimationTriggerOrderOut

      NSAnimationTriggerOrderOut

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

      Доступный в OS X v10.5 и позже.