Yum*_*nc. 5 macos cocoa nsview swift
我想展示我的对象,在绘制内部组件后,滚动到 45 度角。我怎样才能轻松实现这一目标?
该对象是用 a 的子类绘制的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()
}
Run Code Online (Sandbox Code Playgroud)
然后:
let object = MyObject(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
view.addSubView(object)
object.rotate(byDegrees: 23)
Run Code Online (Sandbox Code Playgroud)
我想看到很多MyObjects,每个都转动不同的量。我怎样才能轻松做到这一点?
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |