我遇到了尝试颠倒变换比例的问题。这是我的代码:颠倒变换比例
- (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增加或减少。我如何修改我的代码以使扩展工作正常?谢谢。
嗨罗布,将_holeScale设置为1.0的确是罪魁祸首。在那之后,你实际上并不需要通过sender.scale乘以_holeScale吗? – user339946 2012-02-09 20:40:24
试试看看。 – 2012-02-09 21:16:29
我明白了,我误解了CGAffineTransformScale的工作原理。 – user339946 2012-02-09 22:17:56