В чем разница между CATransaction и CAAnimation?

#ios #core-animation #caanimation #catransaction

#iOS #ядро-анимация #caanimation #catransaction

Вопрос:

возможно, дублируется каким-то вопросом, но я не могу найти их здесь.

Ответ №1:

  1. CAAnimation — это абстрактный суперкласс, использующий протокол CAMediaTiming, который может регулировать время, включая продолжительность, скорость, повторение; также используя протокол CAAction, отображать анимацию посредством ответных действий.
  2. CATransaction — это производный класс CAAnimation.Он может изменять свойства нескольких слоев одновременно. Он имеет два типа транзакций:

    a. явная транзакция, отправка анимации путем явного вызова «begin», «commit», сброс продолжительности.Транзакции могут быть вложенными;

    б. неявная транзакция. В дополнение к явной транзакции любые изменения свойств CALayer являются неявной транзакцией, поэтому транзакция будет отправлена в цикле выполнения.

Надеюсь, это поможет вам.

Комментарии:

1. CATransaction на самом деле является подклассом NSObject .

Ответ №2: