NSView 上的 CGAffineTransforms
我正在尝试将一些 iOS 代码移植到 Mac OS X。但是我在移植时遇到了问题,
CGAffineTransform transform = CGAffineTransformMakeRoatation(-b->GetAngle());
oneView.transform = transform
我该如何实现这一点? NSView 没有转换属性。
I am trying to port some iOS code to Mac OS X. I am having trouble porting this though,
CGAffineTransform transform = CGAffineTransformMakeRoatation(-b->GetAngle());
oneView.transform = transform
How can I achieve this? The NSView doesn't have a transform property.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您仍然可以使用转换。
通过将视图上的
setWantsLayer:
设置为YES
,确保您的视图受图层支持。之后,您可以设置图层的仿射变换:
You still can use transformations.
Make sure your view is layer-backed by setting
setWantsLayer:
on your view toYES
.Afterwards, you can just set the layer's affine transform:
我发现使用核心动画旋转 NSView 的唯一方法是
但要小心使用此方法。仅当 myView 添加到超级视图时它才能正确工作。
您可以通过覆盖方法
- viewWillMoveToSuperview:
来跟踪它享受)
The only way i found to rotate NSView with core animation is
but be carefull using this method. it works correct only if myView is added to a superview.
you can track this by overriding method
– viewWillMoveToSuperview:
Enjoy)