您需要将原点转换为要旋转的点,执行旋转,然后将原点转换回原点:
@implementation NSAffineTransform (Rotation)
+ (NSAffineTransform *)transformRotatingAroundPoint:(NSPoint) p byDegrees:(CGFloat) deg
{
NSAffineTransform * transform = [NSAffineTransform transform];
[transform translateXBy: p.x yBy: p.y];
[transform rotateByDegrees:deg];
[transform translateXBy: -p.x yBy: -p.y];
return transform;
}
@end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2114 次 |
| 最近记录: |