У меня есть собственный UIImageView, я могу перетащить его по экрану, выполнив перевод с помощью (xDif и yDif - количество перемещенных пальцев):
CGAffineTransform translate = CGAffineTransformMakeTranslation(xDif, yDif);
[self setTransform: CGAffineTransformConcat([self transform], translate)];
Допустим, я переместил ImageView на 50 пикселей в направлениях x и y. Затем я пытаюсь повернуть ImageView (с помощью распознавателя жестов) с помощью:
CGAffineTransform transform = CGAffineTransformMakeRotation([recognizer rotation]);
myImageView.transform = transform;
Что происходит, когда ImageView внезапно перемещается туда, где изначально был ImageView (до перевода - не из перемещенной позиции + 50px в обоих направлениях).
(Кажется, что независимо от того, как я перевожу представление, self.center подкласса ImageView остается неизменным - там, где он был изначально заложен в IB).
Другая проблема заключается в том, что если я поверну ImageView на 30 градусов, а затем попытаюсь повернуть его немного больше, он снова начнет исходное положение (угол = 0) и пойдет оттуда, почему он не запустится под углом 30 град а не 0.