旋转NSView
假设我有NSImageView
这样的话:
sampleImage = [[NSImageView alloc] initWithFrame:CGRectMake(50,50,50,50)];
sampleImage.image = [NSImage imageNamed:@"image"];
[self.view addSubview:sampleImage];
看起来像这样:
现在我想将此图像旋转60度。我已经尝试了几个解决这个问题的方法,但没有一个能给我带来满意的结果。
我试过了:
[sampleImage rotateByAngle:60];
结果如下:
[sampleImage setFrameCenterRotation:60];
结果:
使用AffineTransform和图层(我也为超级视图设置wantsLayer = YES
)根本不会旋转图像:
sampleImage.wantsLayer = YES;
sampleImage.layer.affineTransform = CGAffineTransformMakeRotation(60);
使用CATransform3DMakeRotation
进行旋转也不起作用:
sampleImage.transform = CATransform3DMakeRotation(GLKMathRadiansToDegrees((float) -marker.rotation), 0, 0, 1.0);
在OSX中旋转图像的正确方法是什么?在IOS上它是一块蛋糕:应用正确的仿射变换工作就像一个魅力 - 看起来OSX上的Cocoa不太愿意旋转视图。