objective-c - NSView 上的 CGAffineTransforms

标签 objective-c rotation nsview quartz-2d cgaffinetransform

我正在尝试将一些 iOS 代码移植到 Mac OS X。不过,我在移植时遇到了问题,

CGAffineTransform transform = CGAffineTransformMakeRoatation(-b->GetAngle());    
oneView.transform = transform

我怎样才能实现这个目标? NSView 没有转换属性。

最佳答案

您仍然可以使用转换。

通过将 View 上的 setWantsLayer: 设置为 YES,确保您的 View 受图层支持。

之后,您只需设置图层的仿射变换即可:

CGAffineTransform transform = CGAffineTransformMakeRotation(-b->GetAngle());    
[[oneView layer] setAffineTransform: transform];

关于objective-c - NSView 上的 CGAffineTransforms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6587430/

相关文章:

rotation - 在 Three.js 中旋转平面的边缘

ios - 在旋转时调整 UIViewController 内的全屏 View 大小?

objective-c - CG图像记录失真

iphone - 如何从 NSString 中删除最后一个 unicode 符号

ios - 在不同的 viewController 中使用相同的 UIWebView

iphone - iPhone 应用程序中的 Gmail 身份验证

rotation - Libgdx 贴花围绕自定义轴旋转

ios - 在屏幕上移动 UIImage

macos - 在 OSX 10.8 中,如何限制 subview 与其父 View 大小相同

cocoa - 如何初始化 NSCollectionViewItem?