NSAnimation
Объекты NSAnimation класс управляет синхронизацией и прогрессом анимаций в пользовательском интерфейсе. Класс также позволяет Вам соединить многократные анимации так, чтобы, когда концы анимации другой запускается. Это не предоставляет поддержки получения для анимации и непосредственно не имеет дело с представлениями, целями или действиями.
NSAnimation объекты имеют несколько характеристик, включая продолжительность, частоту кадров и кривую анимации, описывающую относительную скорость анимации по ее курсу. Можно установить метки прогресса в анимации, каждая из которых указывает процент завершенной анимации; когда анимация достигает метки прогресса, она уведомляет своего делегата и отправляет уведомление любым наблюдателям. Анимации выполняются в одном из трех режимов блокирования: блокирование, неблокирование на основном потоке и неблокирование на отдельном потоке. В то время как анимация работает, режимы неблокирования разрешают обработку пользовательских событий.
Разделение на подклассы примечаний
Обычный образец использования для NSAnimation должен сделать подкласс, переопределяющий (по крайней мере), currentProgress свойство, чтобы вызвать реализацию суперкласса и затем выполнить безотносительно действия анимации необходимо. Реализация метода могла бы использовать currentValue свойство и затем использует то значение для обновления некоторого получения; в результате получения текущей стоимости, метода animation:valueForProgress: отправляется делегату (если существует делегат, реализующий метод). Для получения дополнительной информации о разделении на подклассы NSAnimation, см. Руководство по программированию Анимации для Какао.
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSCopying -
NSObjectProtocol -
Печатаемый -
NSCoding -
NSCopying -
NSObject
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.4 и позже.
-
Возвраты
NSAnimationобъект, инициализированный с указанной продолжительностью и значениями кривой анимации.Объявление
Swift
init(durationduration: NSTimeInterval, animationCurveanimationCurve: NSAnimationCurve)Objective C
- (instancetype)initWithDuration:(NSTimeInterval)durationanimationCurve:(NSAnimationCurve)animationCurveПараметры
durationЧисло секунд, за которые происходит анимация. Указание отрицательного числа повышает исключение.
animationCurveNSAnimationCurveпостоянный, который описывает относительную скорость анимации по ее курсу; если это - нуль, кривая по умолчанию (NSAnimationEaseInOut) используется.Возвращаемое значение
Инициализированный
NSAnimationэкземпляр. Возвратыnilесли не мог бы быть инициализирован объект.Обсуждение
Можно всегда позже изменять продолжительность
NSAnimationобъект путем измененияdurationсвойство, даже в то время как работает анимация. См. «Константы» для описаний констант NSAnimationCurve.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
-
Режим блокирования анимации.
Объявление
Swift
var animationBlockingMode: NSAnimationBlockingModeObjective 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: NSAnimationCurveObjective C
@property NSAnimationCurve animationCurveОбсуждение
Кривая анимации описывает относительную частоту кадров в течение анимации; предопределенные кривые линейны, осторожно вводят (замедлите ближний конец), ослабьте (медленно убыстряются в запуске), и упростите в простоте (S-кривая). Изменение значения этого свойства изменяет синхронизацию происходящей анимации. Если делегат реализует, значение этого свойства проигнорировано
animation:valueForProgress:метод.Установка этого свойства к недопустимому значению повышает исключение. Для списка допустимых значений анимации посмотрите NSAnimationCurve.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
-
продолжительность продолжительностьСвойствоПродолжительность анимации, в секундах.
Обсуждение
Значение этого свойства должно быть больше, чем или равным
0. Установка продолжительности к отрицательной величине повышает исключение.Можно изменить продолжительность анимации, в то время как она работает. Установка продолжительности к значению, которое является меньше, чем текущее значение прогресса, заканчивает происходящую анимацию.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
-
Число кадра обновляет в секунду для генерации для анимации.
Объявление
Swift
var frameRate: FloatObjective 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: NSAnimationProgressObjective 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Параметры
progressMarkA
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Параметры
progressMarkA
floatзначение (введенный как NSAnimationProgress), который указывает часть завершенной анимации. Значение должно соответствовать набору метки прогресса с addProgressMark: или setProgressMarks:.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
См. также
-
progressMarks progressMarksСвойствоМассив чисел с плавающей точкой, представляющих текущие метки прогресса.
Обсуждение
Значение этого свойства является массивом
NSNumberобъекты, каждый из которых содержит значение плавающее, которые вводятся кNSAnimationProgressввести. Если нет никаких меток прогресса, массив пуст. Установка значения этого свойстваnilочищает все метки прогресса.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Когда другая анимация достигает определенной метки прогресса, начинает выполнять анимацию, представленную получателем.
Объявление
Swift
func startWhenAnimation(_animation: NSAnimation, reachesProgressstartProgress: NSAnimationProgress)Objective C
- (void)startWhenAnimation:(NSAnimation *)animationreachesProgress:(NSAnimationProgress)startProgressПараметры
animationДругой
NSAnimationобъект, с которым соединяется получатель.startProgressA
floatзначение (введенный как NSAnimationProgress), который указывает метку прогресса другой анимации.Обсуждение
Этот метод соединяет выполнение двух анимаций. Можно установить только один
NSAnimationвозразите как анимация запуска и один как анимация остановки в любой момент. Установка новой анимации запуска удаляет любую анимацию ранее набор.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
-
Остановки, выполняющие анимацию, представленную получателем, когда другая анимация достигает определенной метки прогресса.
Объявление
Swift
func stopWhenAnimation(_animation: NSAnimation, reachesProgressstopProgress: NSAnimationProgress)Objective C
- (void)stopWhenAnimation:(NSAnimation *)animationreachesProgress:(NSAnimationProgress)stopProgressПараметры
animationДругой
NSAnimationобъект, с которым соединяется получатель.stopProgressA
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 и позже.
См. также
-
Очищает связь с другой анимацией, заставляющей получатель останавливаться.
Объявление
Swift
func clearStopAnimation()Objective C
- (void)clearStopAnimationОбсуждение
Связь с другой анимацией сделана с
stopWhenAnimation:reachesProgress:.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
См. также
Типы данных
-
NSAnimationProgressвозвращается в userInfo словареNSAnimationProgressMarkNotificationуведомление. Это будет иметь значение между 0,0 и 1.0Объявление
Swift
typealias NSAnimationProgress = FloatObjective 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;Константы
-
EaseInOutNSAnimationEaseInOutОписывает S-кривую, в которой анимация медленно убыстряется и затем замедляется около конца анимации. Эта константа является значением по умолчанию.
Доступный в OS X v10.4 и позже.
-
EaseInNSAnimationEaseInОписывает анимацию, замедляющуюся, поскольку она достигает конца.
Доступный в OS X v10.4 и позже.
-
EaseOutNSAnimationEaseOutОписывает анимацию, медленно убыстряющуюся от запуска.
Доступный в OS X v10.4 и позже.
-
LinearNSAnimationLinearОписывает анимацию, в которой нет никакого изменения в частоте кадров.
Доступный в 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;Константы
-
BlockingNSAnimationBlockingЗапрашивает анимацию работать в основном потоке в пользовательском режиме цикла выполнения, блокирующем ввод данных пользователем.
Это - значение по умолчанию.
Доступный в OS X v10.4 и позже.
-
NonblockingNSAnimationNonblockingЗапрашивает анимацию работать в стандартном или указанном режиме цикла выполнения, позволяющем ввод данных пользователем.
Доступный в OS X v10.4 и позже.
-
NonblockingThreadedNSAnimationNonblockingThreadedЗапрашивает анимацию работать в отдельном потоке, порожденном
NSAnimationобъект.Вторичный поток имеет свой собственный цикл выполнения.
Доступный в OS X v10.4 и позже.
Обсуждение
Вы указываете одну из этих констант в
animationBlockingModeсвойство.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
-
-
Эти константы используются
NSAnimatablePropertyContainerметодыdefaultAnimationForKey:иanimationForKey:.Объявление
Objective C
NSString *NSAnimationTriggerOrderIn; NSString *NSAnimationTriggerOrderOut;Константы
-
NSAnimationTriggerOrderInNSAnimationTriggerOrderInТриггер, представляющий меры, принятые, когда представление становится видимым, или в результате того, чтобы быть вставленным в видимую иерархию представления или в результате представления, больше не устанавливается, как скрытый.
Доступный в OS X v10.5 и позже.
-
NSAnimationTriggerOrderOutNSAnimationTriggerOrderOutТриггер, представляющий меры, принятые, когда представление или удалено из иерархии представления или скрыто.
Доступный в OS X v10.5 и позже.
-
-
Эта константа возвращается в userInfo словаре
NSAnimationProgressMarkNotificationуведомление.Объявление
Swift
var NSAnimationProgressMark: NSString!Objective C
NSString *NSAnimationProgressMark;Константы
-
NSAnimationProgressMarkNSAnimationProgressMarkСодержит значение
NSAnimationProgressкакNSNumberэкземпляр, указывающий прогресс текущей анимации. Значение будет между0.0и1.0.Доступный в OS X v10.4 и позже.
-
-
Отправленный, когда текущий прогресс рабочей анимации достигает одной из своих меток прогресса.
Объект уведомления является выполнением
NSAnimationобъект.userInfoсловарь содержит текущую метку прогресса, к которой получают доступ через ключNSAnimationProgressMark.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.4 и позже.
