那麼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