Я хочу повернуть слой с изображением в верхнем левом углу, а не в центре. Согласно документам я установил свойство anchorPoint
в [0, 1]. Вид поворачивается в моем примере на 50 °, но перед тем, как он начнет анимацию, представление переместится в другую точку на экране.
self.shakeTag.layer.anchorPoint = CGPointMake(0.0f, 1.0f);
[UIView beginAnimations:@"rotate" context:nil];
[self.shakeTag.layer setTransform:
CATransform3DRotate(CATransform3DIdentity,
radians(50.0), 0.0f, 0.0f, 1.0f)];
[UIView commitAnimations];
radians()
определяется следующим образом:
static inline double radians (double degrees) {return degrees * M_PI/180;}
Когда я использую изображение, размер которого в 4 раза больше, и у него много прозрачных пикселей, я могу повернуть его на опорную точку по умолчанию [0,5, 0,5], но я не хочу тратить пространство на невидимые пиксели. Любые идеи, как я могу предотвратить скачок слоя перед вращением?