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

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

Разработчик

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

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

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

NSAnimation

Объекты NSAnimation класс управляет синхронизацией и прогрессом анимаций в пользовательском интерфейсе. Класс также позволяет Вам соединить многократные анимации так, чтобы, когда концы анимации другой запускается. Это не предоставляет поддержки получения для анимации и непосредственно не имеет дело с представлениями, целями или действиями.

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

Разделение на подклассы примечаний

Обычный образец использования для NSAnimation должен сделать подкласс, переопределяющий (по крайней мере), currentProgress свойство, чтобы вызвать реализацию суперкласса и затем выполнить безотносительно действия анимации необходимо. Реализация метода могла бы использовать currentValue свойство и затем использует то значение для обновления некоторого получения; в результате получения текущей стоимости, метода animation:valueForProgress: отправляется делегату (если существует делегат, реализующий метод). Для получения дополнительной информации о разделении на подклассы NSAnimation, см. Руководство по программированию Анимации для Какао.

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


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


Swift

import AppKit

Objective C

@import AppKit;

Доступность


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

    Объявление

    Swift

    init(duration duration: NSTimeInterval, animationCurve animationCurve: NSAnimationCurve)

    Objective C

    - (instancetype)initWithDuration:(NSTimeInterval)duration animationCurve:(NSAnimationCurve)animationCurve

    Параметры

    duration

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

    animationCurve

    NSAnimationCurve постоянный, который описывает относительную скорость анимации по ее курсу; если это - нуль, кривая по умолчанию (NSAnimationEaseInOut) используется.

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

    Инициализированный NSAnimation экземпляр. Возвраты nil если не мог бы быть инициализирован объект.

    Обсуждение

    Можно всегда позже изменять продолжительность NSAnimation объект путем изменения duration свойство, даже в то время как работает анимация. См. «Константы» для описаний констант NSAnimationCurve.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Режим блокирования анимации.

    Объявление

    Swift

    var animationBlockingMode: NSAnimationBlockingMode

    Objective C

    @property NSAnimationBlockingMode animationBlockingMode

    Обсуждение

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

    Если Вы устанавливаете блочный режим в NSAnimationNonblocking, выполнения анимации в основном потоке в одном из стандартных режимов цикла выполнения или в режиме возвратились из runLoopModesForAnimating. Если Вы устанавливаете режим в NSAnimationNonblockingThreaded, новый поток порожден для выполнения анимации.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Массив строк, представляющих режимы цикла выполнения, в которых может работать анимация. (только для чтения)

    Объявление

    Swift

    var runLoopModesForAnimating: [AnyObject]? { get }

    Objective C

    @property(readonly, copy) NSArray *runLoopModesForAnimating

    Обсуждение

    Значение по умолчанию этого свойства nil, который указывает, что анимация может быть выполнена в значении по умолчанию, модальных, или режимах отслеживания события. Значение этого свойства проигнорировано, если режим блокирования анимации - что-то другое, чем NSAnimationNonblocking.

    Для получения информации о выполненных режимах цикла и для констант, посмотрите Ссылку класса NSRunLoop.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • animationCurve animationCurve Свойство

    Кривая синхронизации для анимации.

    Объявление

    Swift

    var animationCurve: NSAnimationCurve

    Objective C

    @property NSAnimationCurve animationCurve

    Обсуждение

    Кривая анимации описывает относительную частоту кадров в течение анимации; предопределенные кривые линейны, осторожно вводят (замедлите ближний конец), ослабьте (медленно убыстряются в запуске), и упростите в простоте (S-кривая). Изменение значения этого свойства изменяет синхронизацию происходящей анимации. Если делегат реализует, значение этого свойства проигнорировано animation:valueForProgress: метод.

    Установка этого свойства к недопустимому значению повышает исключение. Для списка допустимых значений анимации посмотрите NSAnimationCurve.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Продолжительность анимации, в секундах.

    Объявление

    Swift

    var duration: NSTimeInterval

    Objective C

    @property NSTimeInterval duration

    Обсуждение

    Значение этого свойства должно быть больше, чем или равным 0. Установка продолжительности к отрицательной величине повышает исключение.

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

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • frameRate frameRate Свойство

    Число кадра обновляет в секунду для генерации для анимации.

    Объявление

    Swift

    var frameRate: Float

    Objective C

    @property float frameRate

    Обсуждение

    Значение этого свойства должно быть больше, чем или равным 0. Указание значения 0.0 заставляет анимацию работать максимально быстро. Установка свойства к отрицательной величине повышает исключение.

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

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • делегат делегат Свойство

    Делегат анимации.

    Объявление

    Swift

    unowned(unsafe) var delegate: NSAnimationDelegate?

    Objective C

    @property(assign) id< NSAnimationDelegate > delegate

    Обсуждение

    Делегат должен соответствовать NSAnimationDelegate Protocol.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Запускает анимацию, представленную получателем.

    Объявление

    Swift

    func startAnimation()

    Objective C

    - (void)startAnimation

    Обсуждение

    Сильная ссылка к анимации сохраняется до конца анимации или до stopAnimation метод вызывают. Если режим блокирования NSAnimationBlocking, этот метод, который возвраты после анимации завершили или делегат, отправляет ее stopAnimation. Если получатель имеет прогресс 1.0, это запускается снова в 0.0.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Останавливает анимацию, представленную получателем.

    Объявление

    Swift

    func stopAnimation()

    Objective C

    - (void)stopAnimation

    Обсуждение

    Текущий прогресс получателя не сбрасывается. Когда этот метод отправляется в экземпляры NSViewAnimation (подкласс NSAnimation) перемещения получателя до конца структурируют расположение.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

    Объявление

    Swift

    var animating: Bool { get }

    Objective C

    @property(getter=isAnimating, readonly) BOOL animating

    Обсуждение

    Значение этого свойства YEStrue когда анимация происходит или NOfalse когда это останавливается.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • currentProgress currentProgress Свойство

    Текущий прогресс анимации.

    Объявление

    Swift

    var currentProgress: NSAnimationProgress

    Objective C

    @property NSAnimationProgress currentProgress

    Обсуждение

    Это свойство содержит процент завершения анимации. Допустимые значения находятся в диапазоне 0.0 к 1.0, где 0.0 представляет начало анимации и 1.0 представляет конец анимации.

    Изменение значения этого свойства корректирует прогресс рабочей анимации. Установка этого свойства к значению меньше, чем 0.0 устанавливает значение свойства к 0.0. Точно так же указывая значение, больше, чем 1.0 изменяет значение свойства к 1.0. NSAnimation класс обновляет значение этого свойства во время анимации. Для выполнения дополнительных задач в определенных точках прогресса используйте делегата animation:valueForProgress: метод.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • currentValue currentValue Свойство

    Текущая стоимость эффекта анимации, на основе текущего прогресса (только для чтения)

    Объявление

    Swift

    var currentValue: Float { get }

    Objective C

    @property(readonly) float currentValue

    Обсуждение

    NSAnimation объект получает текущую стоимость от делегата animation:valueForProgress: метод. Если тот метод не реализован, анимация вычисляет текущую стоимость из текущего прогресса факторингом в кривой анимации. Объект Animation не получает доступ к этому свойству непосредственно. Экземпляры NSAnimation подклассы или другие объекты могут вызвать этот метод на периодической основе для получения текущей стоимости.

    Подклассы могут переопределить это свойство и возвратить значение пользовательской кривой вместо реализации animation:valueForProgress:, таким образом, экономя на издержках использования делегата. Текущая стоимость может быть меньше, чем 0.0 или больше, чем 1.0. Например, если Вы делаете значение больше, чем 1.0 можно достигнуть “резинового эффекта”, где размер представления временно больше перед его заключительным размером.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Добавляет метка прогресса к получателю.

    Объявление

    Swift

    func addProgressMark(_ progressMark: NSAnimationProgress)

    Objective C

    - (void)addProgressMark:(NSAnimationProgress)progressMark

    Параметры

    progressMark

    A float значение (введенный как NSAnimationProgress) между 0,0 и 1.0. Значения вне того диапазона прикрепляются к 0,0 или 1.0, какой бы ни является самым близким.

    Обсуждение

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

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Удаляет метку прогресса из получателя.

    Объявление

    Swift

    func removeProgressMark(_ progressMark: NSAnimationProgress)

    Objective C

    - (void)removeProgressMark:(NSAnimationProgress)progressMark

    Параметры

    progressMark

    A float значение (введенный как NSAnimationProgress), который указывает часть завершенной анимации. Значение должно соответствовать набору метки прогресса с addProgressMark: или setProgressMarks:.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    См. также

    – addProgressMark:

  • progressMarks progressMarks Свойство

    Массив чисел с плавающей точкой, представляющих текущие метки прогресса.

    Объявление

    Swift

    var progressMarks: [AnyObject]

    Objective C

    @property(copy) NSArray *progressMarks

    Обсуждение

    Значение этого свойства является массивом NSNumber объекты, каждый из которых содержит значение плавающее, которые вводятся к NSAnimationProgress ввести. Если нет никаких меток прогресса, массив пуст. Установка значения этого свойства nil очищает все метки прогресса.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    См. также

    – addProgressMark:

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

    Объявление

    Swift

    func startWhenAnimation(_ animation: NSAnimation, reachesProgress startProgress: NSAnimationProgress)

    Objective C

    - (void)startWhenAnimation:(NSAnimation *)animation reachesProgress:(NSAnimationProgress)startProgress

    Параметры

    animation

    Другой NSAnimation объект, с которым соединяется получатель.

    startProgress

    A float значение (введенный как NSAnimationProgress), который указывает метку прогресса другой анимации.

    Обсуждение

    Этот метод соединяет выполнение двух анимаций. Можно установить только один NSAnimation возразите как анимация запуска и один как анимация остановки в любой момент. Установка новой анимации запуска удаляет любую анимацию ранее набор.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Остановки, выполняющие анимацию, представленную получателем, когда другая анимация достигает определенной метки прогресса.

    Объявление

    Swift

    func stopWhenAnimation(_ animation: NSAnimation, reachesProgress stopProgress: NSAnimationProgress)

    Objective C

    - (void)stopWhenAnimation:(NSAnimation *)animation reachesProgress:(NSAnimationProgress)stopProgress

    Параметры

    animation

    Другой NSAnimation объект, с которым соединяется получатель.

    stopProgress

    A float значение (введенный как NSAnimationProgress), который указывает метку прогресса другой анимации.

    Обсуждение

    Этот метод соединяет выполнение двух анимаций. Можно установить только один NSAnimation возразите как анимация запуска и один как анимация остановки в любой момент. Установка новой анимации остановки удаляет любую анимацию ранее набор.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Очищает связь с другой анимацией, заставляющей получатель запускаться.

    Объявление

    Swift

    func clearStartAnimation()

    Objective C

    - (void)clearStartAnimation

    Обсуждение

    Связь с другой анимацией сделана с startWhenAnimation:reachesProgress:.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    См. также

    – startAnimation

  • Очищает связь с другой анимацией, заставляющей получатель останавливаться.

    Объявление

    Swift

    func clearStopAnimation()

    Objective C

    - (void)clearStopAnimation

    Обсуждение

    Связь с другой анимацией сделана с stopWhenAnimation:reachesProgress:.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

    См. также

    – stopAnimation

Типы данных

  • NSAnimationProgress возвращается в userInfo словаре NSAnimationProgressMarkNotification уведомление. Это будет иметь значение между 0,0 и 1.0

    Объявление

    Swift

    typealias NSAnimationProgress = Float

    Objective C

    typedef float NSAnimationProgress;

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Эти константы описывают кривую анимации — т.е. относительная скорость анимации от начала до конца.

    Объявление

    Swift

    enum NSAnimationCurve : UInt { case EaseInOut case EaseIn case EaseOut case Linear }

    Objective C

    typedef enum NSAnimationCurve : NSUInteger { NSAnimationEaseInOut, NSAnimationEaseIn, NSAnimationEaseOut, NSAnimationLinear } NSAnimationCurve;

    Константы

    • EaseInOut

      NSAnimationEaseInOut

      Описывает S-кривую, в которой анимация медленно убыстряется и затем замедляется около конца анимации. Эта константа является значением по умолчанию.

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

    • EaseIn

      NSAnimationEaseIn

      Описывает анимацию, замедляющуюся, поскольку она достигает конца.

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

    • EaseOut

      NSAnimationEaseOut

      Описывает анимацию, медленно убыстряющуюся от запуска.

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

    • Linear

      NSAnimationLinear

      Описывает анимацию, в которой нет никакого изменения в частоте кадров.

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

    Обсуждение

    Вы инициализируете NSAnimation объект с помощью одной из этих констант с initWithDuration:animationCurve: и можно установить его после того с animationCurve свойство.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Эти константы указывают режим блокирования NSAnimation возразите, когда это будет работать.

    Объявление

    Swift

    enum NSAnimationBlockingMode : UInt { case Blocking case Nonblocking case NonblockingThreaded }

    Objective C

    typedef enum NSAnimationBlockingMode : NSUInteger { NSAnimationBlocking, NSAnimationNonblocking, NSAnimationNonblockingThreaded } NSAnimationBlockingMode;

    Константы

    • Blocking

      NSAnimationBlocking

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

      Это - значение по умолчанию.

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

    • Nonblocking

      NSAnimationNonblocking

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

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

    • NonblockingThreaded

      NSAnimationNonblockingThreaded

      Запрашивает анимацию работать в отдельном потоке, порожденном NSAnimation объект.

      Вторичный поток имеет свой собственный цикл выполнения.

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

    Обсуждение

    Вы указываете одну из этих констант в animationBlockingMode свойство.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Эти константы используются NSAnimatablePropertyContainer методы defaultAnimationForKey: и animationForKey:.

    Объявление

    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 и позже.

  • Эта константа возвращается в userInfo словаре NSAnimationProgressMarkNotification уведомление.

    Объявление

    Swift

    var NSAnimationProgressMark: NSString!

    Objective C

    NSString *NSAnimationProgressMark;

    Константы

    • NSAnimationProgressMark

      NSAnimationProgressMark

      Содержит значение NSAnimationProgress как NSNumber экземпляр, указывающий прогресс текущей анимации. Значение будет между 0.0 и 1.0.

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

  • Отправленный, когда текущий прогресс рабочей анимации достигает одной из своих меток прогресса.

    Объект уведомления является выполнением NSAnimation объект. userInfo словарь содержит текущую метку прогресса, к которой получают доступ через ключ NSAnimationProgressMark.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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