如何解决Swift:如何将 NSView 旋转 45 度?
我想显示我的对象,在绘制内部组件后,滚动到 45 度角。我怎样才能轻松实现这一目标?
对象是用 NSView
的子类绘制的。它包含多个 NSBezierPath
和填充,以包括弧线等。然后在不同的旋转位置多次使用同一个对象 - 没有动画!
我使用 NSView.rotate(byDegrees:)
方法,但它似乎只适用于 90 度的因数 - 其他角度似乎会缩放并忽略曲线(奇怪的结果)。
您可能不需要代码,但这里有对象:
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
wantsLayer = true
layer?.masksToBounds = false
let context = NSGraphicsContext.current!.cgContext
let path = NSBezierPath(ovalIn: dirtyRect)
NSColor.red.setFill()
path.fill()
}
然后:
let object = MyObject(frame: CGRect(x: 0,y: 0,width: 100,height: 100))
view.addSubView(object)
object.rotate(byDegrees: 23)
我想看到很多 MyObject
,每个都变成了不同的数量。
我怎样才能轻松做到这一点?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。