У меня проблема с попыткой инвертировать, так сказать, шкалу преобразования. Вот мой код:
- (void)updateTransforms {
CGAffineTransform holeTransform = CGAffineTransformIdentity;
holeTransform = CGAffineTransformTranslate(holeTransform, _holeOffset.x, _holeOffset.y);
holeTransform = CGAffineTransformRotate(holeTransform, _holeRotation);
//Problem code:
holeTransform = CGAffineTransformScale(holeTransform, _holeScale, _holeScale);
self.transform = holeTransform;
self.imageToUse.transform = CGAffineTransformInvert(holeTransform); }
Это в основном метод, который позволяет мне вращать, панорамировать и масштабировать мой объект. Желаемый эффект, который я хочу, противоположен каждому действию. Поэтому, если вы двигаетесь влево, изображение перемещается вправо, поворачивается влево, оно вращается вправо, масштабируется вверх, изображение масштабируется с той же скоростью. Этот код отлично работает для панорамирования и поворота.
Я полагаю, что проблема заключается в инверсии шкалы, потому что на самом деле шкала не становится отрицательной, она просто увеличивается или уменьшается с 1,0. Как я могу изменить свой код для правильного масштабирования? Спасибо.