Поверните прямоугольник вокруг его верхнего левого угла

Просто пытаясь повернуть прямоугольник вокруг его источника или его верхнего левого угла, вот так:

Использую следующее:

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

Другие вопросы по тегам