那么CGAffineTransform只是一个描述旋转,平移和缩放的矩阵。
记住你可以用
CGAffineTransform CGAffineTransformConcat (CGAffineTransform t1, CGAffineTransform t2);
至环比上涨变换。这基本上意味着你正在乘以变换矩阵。
所以,既然你知道了,标准的旋转就在UIImageView的中心旋转,你可以在你的任务分解成3个部分,
- 移动到旋转点
- 旋转
- 举动返回
并链接起来。
CGAffineTransform t = imageView.transform;
CGPoint p = rotationPoint - imageView.center;
imageView.transform = CGAffineTransformTranslate(
CGAffineTransformRotate(CGAffineTransformTranslate(t, p.x, p.y), angle) , -p.x, -p.y);
我没有测试这个代码,但你应该得到这样的解决方案。
编辑:我也意识到我没有使用连接。如果使用“CGAffineTransformMake ...”,则需要使用串联。我只是把这些功能放在一起。
你已经完成了'#import'吗? –
Anna
2010-11-09 02:40:04