Изменение anchorpoint, а затем вращение с помощью CGAffineTransformMakeRotation - PullRequest
0 голосов
/ 11 марта 2011

Я пытаюсь повернуть UIView вокруг другой точки привязки.Когда я впервые создаю UIView, я установил опорную точку на (0.0, 0.5).Я вращаю вид с помощью CGAffineTransformMakeRotation.Когда я нажимаю на другую сторону UIView, я хочу установить опорную точку (1.0, 0.5).Это перемещает UIView, чтобы установить точку привязки к центральной точке.На других ответах я прочел, что должен сделать это: «умножить ширину и высоту границ на нормализованные значения старого и нового anchorPoint, взять разницу двух точек anchorPoints и применить эту разницу к положению слоя»

Я пытался это сделать, но я не могу установить UIView в точно такое же положение.Используя этот код:

self.transform = CGAffineTransformTranslate(self.transform, self.bounds.size.width, 0);

Установите точно такую ​​же позицию, но.Когда я снова поворачиваюсь (он должен вращаться вокруг новой точки привязки), он переворачивает UIView, или происходит что-то странное.

1 Ответ

1 голос
/ 11 марта 2011

Когда вы перемещаете вид из-за изменения точки привязки, попробуйте не использовать свойство transform. Вместо этого переместите представление с помощью свойства frame или center (или position, если вы работаете с объектом CALayer). Кроме того, можете ли вы опубликовать больше кода, показывающего, как именно повернуть представление?

...