Поэтому мне нужно применить некоторое масштабирование и некоторое вращение к виду (я делаю это с помощью жестов), поэтому для каждого жеста я обновляю текущие значения scalling и вращения с помощью чего-то вроде:
self.scaleWidth *= gesture.scale; //When I detect an horizontal pinch
self.scaleHeight *= gesture.scale; //When I detect a vertical pinch
self.rotationAngle += gesture.rotationAngle; //When I detect a rotation
ЗатемЯ делаю следующее, чтобы преобразовать представление:
CGAffineTransform transform = CGAffineTransformScale(CGAffineTransformIdentity, self.scaleWidth, self.scaleHeight);
self.theSubViewToTransform.transform = CGAffineTransformRotate(transform, self.rotationAngle);
Когда я делаю только масштабирование, оно работает нормально.Когда я делаю масштабирование, а затем вращаюсь, оно вращается нормально.Когда после поворота я пытаюсь снова масштабировать, он не работает нормально: масштаб применяется, как если бы он был сделан после поворота, искажая структуру моего изображения.
Я думал, что сделал то, что нужно было сделать, чтобы избежать этого: начинать каждый раз с преобразования идентичности, сначала масштабируя, а затем вращая, но, очевидно, я ошибался ...
Кто-нибудь знает, что не так с моей реализацией?
Спасибо