В документации написано:
Дерево презентации содержит
значения, которые в настоящее время
представлен пользователю в виде анимации
происходит. Например, установка
новое значение для backgroundColor
слой сразу меняет значение в
дерево слоев. Тем не менее
Значение backgroundColor в
соответствующий слой в
Дерево презентации будет обновлено
интерполированные цвета как они есть
отображается пользователю.
Теперь правда из моего жесткого 8-часового тестирования в песочнице с одним видом и анимацией. Во время анимации я прошу:
CATransform3D currentTransform = [(CALayer *) [self.layer presentationLayer] transform]
Я проверяю значения currentTransform для m11 и m12, чтобы вычислить текущий угол поворота.
Когда я настроил поворот на 90 градусов, происходят две вещи, в то время как анимация происходит и не заканчивается:
иногда мой вычисленный угол, основанный на currentTransform, равен 0,0, хотя вид повернут на некоторый угол и определенно не равен 0,0.
и иногда (чаще всего) это просто целевое значение 90 градусов.
Но я никогда не получаю то, что хочу: текущее состояние анимации. Я долго искал в сети, и разработчики, кажется, редко используют это. Так что это либо ошибка во фреймворке, либо ошибка в документации, либо мой код выше для получения текущего видимого преобразования совершенно неверен.