CATransaction
CATransaction Базовый механизм Анимации для пакетной обработки многоуровнево-древовидных операций в атомарные обновления к дереву рендеринга. Каждая модификация к дереву уровня должна быть частью транзакции. Вложенные транзакции поддерживаются.
Базовая Анимация поддерживает два типа транзакций: неявные транзакции и явные транзакции. Неявные транзакции создаются автоматически, когда дерево уровня изменяется потоком без активной транзакции и фиксируется автоматически, когда цикл выполнения потока затем выполняет итерации. Когда приложение отправляет, явные транзакции происходят CATransaction класс a begin сообщение прежде, чем изменить дерево уровня и a commit сообщение впоследствии.
CATransaction позволяет Вам переопределять свойства анимации по умолчанию, установленные для animatable свойств. Можно настроить продолжительность, синхронизировав функцию, инициировали ли изменения в свойствах анимации и обеспечивают обработчик, сообщающий Вам, когда завершаются все анимации от группы транзакции.
Во время транзакции можно временно получить рекурсивную спин-блокировку для управления атомарностью свойства.
Оператор импорта
Swift
import QuartzCore
Objective C
@import QuartzCore;
Доступность
Доступный в OS X v10.5 и позже.
-
Начните новую транзакцию для текущего потока.
Объявление
Swift
class func begin()Objective C
+ (void)beginОбсуждение
Если существует тот, транзакция вкладывается в текущей операции потока.
Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Фиксируйте все изменения, внесенные во время текущей операции.
Объявление
Swift
class func commit()Objective C
+ (void)commitСпециальные замечания
Если никакая текущая операция не существует, повышает исключение.
Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.5 и позже.
-
Сбросы любая существующая неявная транзакция.
Объявление
Swift
class func flush()Objective C
+ (void)flushОбсуждение
Задерживает фиксацию, пока не завершились любые вложенные явные транзакции.
Сброс обычно вызывают автоматически в конце текущего runloop, независимо от runloop режима. Если Ваше приложение не имеет runloop, необходимо вызвать этот метод явно.
Однако необходимо попытаться избежать вызывать
flushявно. Путем разрешенияflushдля выполнения во время runloop приложение достигнет лучшей производительности, атомарные экранные обновления будут сохранены, и транзакции и анимации, работающие от транзакции до транзакции, будут продолжать функционировать.Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвращает продолжительность анимации, используемую всеми анимациями в этой группе транзакции.
Объявление
Swift
class func animationDuration() -> CFTimeIntervalObjective C
+ (CFTimeInterval)animationDurationВозвращаемое значение
Интервал времени, используемый в качестве продолжительности.
Обсуждение
Можно получить продолжительность анимации для определенной транзакции путем вызова
valueForKey:метод объекта транзакции и выясненияkCATransactionAnimationDurationключ.Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.6 и позже.
См. также
-
Устанавливает продолжительность анимации, используемую всеми анимациями в этой группе транзакции.
Объявление
Swift
class func setAnimationDuration(_duration: CFTimeInterval)Objective C
+ (void)setAnimationDuration:(CFTimeInterval)durationПараметры
durationИнтервал времени, используемый в качестве продолжительности.
Обсуждение
Можно также установить продолжительность анимации для определенного объекта транзакции путем вызова
setValue:forKey:метод того объекта и указанияkCATransactionAnimationDurationключ.Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.6 и позже.
См. также
-
Возвращает функцию синхронизации, используемую для всех анимаций в этой группе транзакции.
Объявление
Swift
class func animationTimingFunction() -> CAMediaTimingFunction!Objective C
+ (CAMediaTimingFunction *)animationTimingFunctionВозвращаемое значение
Экземпляр
CAMediaTimingFunction.Обсуждение
Это - удобный метод, возвращающийся
CAMediaTimingFunctionдляvalueForKey:значение, возвращенноеkCATransactionAnimationTimingFunctionключ.Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.6 и позже.
См. также
-
Устанавливает функцию синхронизации, используемую для всех анимаций в этой группе транзакции.
Объявление
Swift
class func setAnimationTimingFunction(_function: CAMediaTimingFunction!)Objective C
+ (void)setAnimationTimingFunction:(CAMediaTimingFunction *)functionПараметры
functionЭкземпляр
CAMediaTimingFunction.Обсуждение
Это - удобный метод, устанавливающий
CAMediaTimingFunctionдляvalueForKey:значениеkCATransactionAnimationTimingFunctionключ.Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.6 и позже.
См. также
-
Возвраты, подавлены ли действия, инициированные в результате изменений свойства, внесенных в этой группе транзакции.
Объявление
Swift
class func disableActions() -> BoolObjective C
+ (BOOL)disableActionsВозвращаемое значение
YEStrueесли отключены действия.Обсуждение
Это - удобный метод, возвращающийся
boolValueдляvalueForKey:значение, возвращенноеkCATransactionDisableActionsключ.Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.6 и позже.
См. также
-
Наборы, подавлены ли действия, инициированные в результате изменений свойства, внесенных в этой группе транзакции.
Объявление
Swift
class func setDisableActions(_flag: Bool)Objective C
+ (void)setDisableActions:(BOOL)flagПараметры
flagYEStrue, если должны быть отключены действия.Обсуждение
Это - вызывающий удобный метод
setValue:forKey:сNSNumberсодержа aYEStrueдляkCATransactionDisableActionsключ.Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.6 и позже.
См. также
-
Возвращает блочный объект завершения.
Объявление
Swift
class func completionBlock() -> (() -> Void)!Objective C
+ (void (^)(void))completionBlockОбсуждение
Посмотрите
setCompletionBlock:поскольку описание роли завершения блокирует объект.Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.6 и позже.
См. также
-
Устанавливает блочный объект завершения.
Объявление
Swift
class func setCompletionBlock(_block: (() -> Void)!)Objective C
+ (void)setCompletionBlock:(void (^)(void))blockПараметры
blockКогда анимации для этой группы транзакции завершаются, блочный объект вызвал.
Блочный объект не берет параметров и не возвращает значения.
Обсуждение
Блочный объект завершения, который, как гарантируют, вызовут (на основном потоке), как только все анимации, впоследствии добавленные этой группой транзакции, завершились (или были удалены.), Если никакие анимации не добавляются, прежде чем группа текущей операции фиксируется (или блок завершения установлен в различное значение,), блок будет сразу вызван.
Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.6 и позже.
См. также
-
Попытки получить рекурсивную блокировку спин-блокировки, гарантируя, который возвратил значения уровня, допустимы, пока не разблокировано.
Объявление
Swift
class func lock()Objective C
+ (void)lockОбсуждение
Базовая Анимация использует модель данных, обещающую не повредить внутренние структуры данных, когда вызвано от многократных потоков одновременно, но не, что данные возвратились, все еще допустимо, если свойство было допустимо на другом потоке. Путем блокировки во время транзакции можно гарантировать данные, считанные, измененные и установленные, правильно управляется.
Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.6 и позже.
См. также
-
Оставляет ранее полученную блокировку транзакции.
Объявление
Swift
class func unlock()Objective C
+ (void)unlockОператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.6 и позже.
См. также
-
Устанавливает произвольные включенные данные для указанного ключа.
Объявление
Swift
class func setValue(_anObject: AnyObject!, forKeykey: String!)Objective C
+ (void)setValue:(id)anObjectforKey:(NSString *)keyПараметры
anObjectЗначение для ключа, идентифицированного
key.keyИмя одного из свойств получателя.
Обсуждение
Вложенные транзакции вложили объем данных; устанавливание ключа всегда устанавливает его в самом внутреннем объеме.
Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.5 и позже.
-
Возвращает произвольные включенные данные, указанные данным ключом.
Объявление
Swift
class func valueForKey(_key: String!) -> AnyObject!Objective C
+ (id)valueForKey:(NSString *)keyПараметры
keyИмя одного из свойств получателя.
Возвращаемое значение
Значение для данных указано ключом.
Обсуждение
Вложенные транзакции вложили объем данных. Запрос значения для ключа сначала ищет самый внутренний объем, тогда транзакции включения.
Оператор импорта
Objective C
@import QuartzCore;Swift
import QuartzCoreДоступность
Доступный в OS X v10.5 и позже.
-
Эти константы определяют ключи свойства, используемые
valueForKey:иsetValue:forKey:.Объявление
Swift
let kCATransactionAnimationDuration: NSString! let kCATransactionDisableActions: NSString! let kCATransactionAnimationTimingFunction: NSString! let kCATransactionCompletionBlock: NSString!Objective C
NSString * const kCATransactionAnimationDuration; NSString * const kCATransactionDisableActions; NSString * const kCATransactionAnimationTimingFunction; NSString * const kCATransactionCompletionBlock;Константы
-
kCATransactionAnimationDurationkCATransactionAnimationDurationПродолжительность, в секундах, для анимаций инициирована в группе транзакции. Значение для этого ключа должно быть экземпляром
NSNumber.Доступный в OS X v10.5 и позже.
-
kCATransactionDisableActionskCATransactionDisableActionsЕсли
YEStrue, подавлены неявные действия для изменений свойства, внесенных в группе транзакции. Значение для этого ключа должно быть экземпляромNSNumber.Доступный в OS X v10.5 и позже.
-
kCATransactionAnimationTimingFunctionkCATransactionAnimationTimingFunctionЭкземпляр
CAMediaTimingFunctionэто переопределяет функцию синхронизации для всех анимаций, инициированных в группе транзакции.Доступный в OS X v10.6 и позже.
-
kCATransactionCompletionBlockkCATransactionCompletionBlockБлочный объект завершения, который, как гарантируют, вызовут (на основном потоке), как только все анимации, впоследствии добавленные этой группой транзакции, завершились (или были удалены.), Если никакие анимации не добавляются, прежде чем группа текущей операции фиксируется (или блок завершения установлен в различное значение,), блок будет сразу вызван.
Доступный в OS X v10.6 и позже.
-
