Поверните прямоугольник вокруг его верхнего левого угла
Просто пытаясь повернуть прямоугольник вокруг его источника или его верхнего левого угла, вот так:
Использую следующее:
panGestureRecognizer.view.transform = CGAffineTransformRotate(panGestureRecognizer.view.transform, (M_PI * angle) / 180);
Но прямоугольник как бы вращается в большой петле. Есть ли какой-то перевод, который мне нужно сделать, чтобы заставить это работать?
1 ответ
Решение
Вам просто нужно установить точку привязки: https://developer.apple.com/library/mac/#documentation/graphicsimaging/reference/CALayer_class/Introduction/Introduction.html#//apple_ref/occ/instp/CALayer/anchorPoint
panGestureRecognizer.view.layer.anchorPoint = CGPointMake(0.0, 0.0);
Дальнейшее чтение: Для более продвинутых вещей вы можете попробовать некоторые советы, подробно изложенные здесь для преобразования матрицы: /questions/1898573/odin-shag-affinnogo-preobrazovaniya-dlya-vrascheniya-vokrug-tochki/1898592#1898592