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

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

Разработчик

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

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

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

NSAnimationContext

NSAnimationContext походит CATransaction и подобны в полном понятии NSGraphicsContext. Каждый поток поддерживает свой собственный штабель nestable NSAnimationContext экземпляры, с каждым новым экземпляром, инициализированным как копия экземпляра ниже (так, наследовав его текущие свойства).

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

  • [NSAnimationContext beginGrouping];
  • // Animate enclosed operations with a duration of 1 second
  • [[NSAnimationContext currentContext] setDuration:1.0];
  • [[aView animator] setFrame:newFrame];
  • ...
  • [NSAnimationContext beginGrouping];
  • // Animate alpha fades with half-second duration
  • [[NSAnimationContext currentContext] setDuration:0.5];
  • [[aView animator] setAlphaValue:0.75];
  • [[bView animator] setAlphaValue:0.75];
  • [NSAnimationContext endGrouping];
  • ...
  • // Will animate with a duration of 1 second
  • [[bView animator] setFrame:secondFrame];
  • [NSAnimationContext endGrouping];

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


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


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


Swift

import AppKit

Objective C

@import AppKit;

Доступность


Доступный в OS X v10.5 и позже.
  • Создает новую группировку анимации.

    Объявление

    Swift

    class func beginGrouping()

    Objective C

    + (void)beginGrouping

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Заканчивает группировку текущей анимации.

    Объявление

    Swift

    class func endGrouping()

    Objective C

    + (void)endGrouping

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Возвращает контекст текущей анимации.

    Объявление

    Swift

    class func currentContext() -> NSAnimationContext

    Objective C

    + (NSAnimationContext *)currentContext

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

    Контекст текущей анимации.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

    Объявление

    Swift

    var completionHandler: (() -> Void)?

    Objective C

    @property(copy) void (^completionHandler)(void)

    Обсуждение

    Если установлено в не -nil значение, контекст completionHandler как гарантируют, вызовут на основном потоке, как только все анимации впоследствии добавили к току NSAnimationContext группировка завершилась или была отменена.

    Этот метод управляет базовым CATransactioncompletionBlock свойство, несмотря на то, что Набор Приложения может присвоить различное, посредническое completionBlock к току CATransaction.

    Обработчик завершения ожидает всех анимаций, к которым обработчик применяется, независимый от того, оценены ли они Набором Приложения или делегированы к Базовой Анимации для оценки в дереве рендеринга перед увольнением.

    Если никакие анимации не добавляются, прежде чем текущая группировка заканчивается — или completionHandler установлен в различное значение — обработчик будет сразу вызван.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Позволяет Вам указывать тело блока завершения после набора действий анимации, завершение которых инициирует блок завершения.

    Объявление

    Swift

    class func runAnimationGroup(_ changes: (NSAnimationContext!) -> Void, completionHandler completionHandler: (() -> Void)?)

    Objective C

    + (void)runAnimationGroup:(void (^)(NSAnimationContext *context))changes completionHandler:(void (^)(void))completionHandler

    Параметры

    changes

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

    context параметр передает ток потока NSAnimationContext к Блоку как удобство таким образом кодируйте в Блоке, хотящем изменить или запросить свойства тока context не должен вызывать currentContext.

    Блочный объект не возвращает значения.

    completionHandler

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

    Блочный объект не берет параметров и не возвращает значения.

    Обсуждение

    Используя этот метод позволяет Вам более естественно анимациям группы и Блоку завершения.

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

    • [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
    • // Start some animations.
    • [[myView animator] setFrameSize:newViewSize];
    • [[myWindow animator] setFrame:newWindowFrame display:YES];
    • } completionHandler:^{
    • // This block will be invoked when all of the animations
    • // started above have completed or been cancelled.
    • NSLog(@"All done!");
    • }];

    Вышеупомянутый код семантически эквивалентен следующему:

    • [NSAnimationContext beginGrouping];
    • [NSAnimationContext setCompletionHandler:^{
    • // This block will be invoked when all of the animations
    • // started below have completed or been cancelled.
    • NSLog(@"All done!");
    • }];
    • // Start some animations.
    • [[myView animator] setFrameSize:newViewSize];
    • [[myWindow animator] setFrame:newWindowFrame display:YES];
    • [NSAnimationContext endGrouping];

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Продолжительность, используемая анимациями, создается в результате установки новых значений для animatable свойства.

    Объявление

    Swift

    var duration: NSTimeInterval

    Objective C

    @property NSTimeInterval duration

    Обсуждение

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

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • timingFunction timingFunction Свойство

    Функция синхронизации, используемая для всех анимаций в этой анимации, проксирует группу.

    Объявление

    Swift

    var timingFunction: CAMediaTimingFunction?

    Objective C

    @property(strong) CAMediaTimingFunction *timingFunction

    Обсуждение

    NSAnimationContext, синхронизирующий функцию, походит на CATransaction setAnimationTimingFunction: метод.

    Анимации инициировали через синтаксис прокси «аниматора», которые не имеют явно указанных функций синхронизации, наследует включение NSAnimationContext экземпляр timingFunction если это не nil (который является значением по умолчанию).

    Как с существующим duration свойство, изменяя функцию синхронизации вызывает то же изменение в базовом экземпляре CATransaction animationTimingFunction.

    Также как с duration свойство, можно изменить timingFunction любое число раз в данном NSAnimationContext beginGrouping и endGrouping блок. Изменения в timingFunction применится к любым анимациям, впоследствии инициирующимся во что группировка NSAnimationContext, до timingFunction возможно изменяется снова.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

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

    Объявление

    Swift

    var allowsImplicitAnimation: Bool

    Objective C

    @property BOOL allowsImplicitAnimation

    Обсуждение

    Используя animator прокси автоматически установит allowsImplicitAnimation к YEStrue. Когда YEStrue, другие свойства могут неявно анимировать вместе с первоначально измененным свойством.

    Например, вызов [[view animator] setFrame:frame] позволит подпредставлениям также анимировать свои позиции кадра. Когда значение NOfalse поведение является diabled.

    Значение по умолчанию NOfalse.

    Когда уровень отступил на OS v10.8 и позже, это только применимо.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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