Я вижу много кода, который поворачивает вид следующим образом:
CABasicAnimation *centerToRightRotate
= [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
centerToRightRotate.fromValue = @(0);
centerToRightRotate.toValue = @(M_PI/8);
centerToRightRotate.duration = 0.15;
[self.view.layer addAnimation:centerToRightRotate forKey:nil];
(например, многие ответы на на этот вопрос )
Тем не менее, когда я пытаюсь получить доступ к self.view.layer.transform.rotation
или self.view.layer.transform.rotation.z
, компилятор скажет мне: «В CATransform3D нет члена с именем 'принуждение". Документы для CATransform3D
также не показывают rotation
в качестве свойства экземпляра.
Я предполагаю, что CAAnimation
каким-то образом переводит ключевой путь transform.rotation
в соответствующее преобразование, но я хочу знать, что на самом деле происходит под капотом. Что именно здесь происходит?