0

我的问题是,对于为 OSX 编写的应用程序,我无法在视图控制器中使用 swift 绘制椭圆。

我在视图控制器中有以下代码:

class TouchController: NSViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        //// Color Declarations
        let color2 = NSColor(calibratedRed: 0.769, green: 0.364, blue: 0.364, alpha: 1)

        //// Oval Drawing
        let ovalPath = NSBezierPath(ovalInRect: NSMakeRect(70, 24, 145, 143))
        color2.setFill()
        ovalPath.fill()
    }
}

图纸的代码是由绘画代码创建的。我正在用 Swift 为 OSX 编写这个。我的问题是为什么,当我编译代码时椭圆不显示?

4

1 回答 1

2

在 Cocoa 中,实现在视图中绘制的drawRect方法。NSView使用您现有的代码,请参阅此 Playground 兼容示例:

import Cocoa

public class CustomOval : NSView {
    public override func drawRect(dirtyRect: NSRect) {
        let color = NSColor(calibratedRed: 0.769, green: 0.364, blue: 0.364, alpha: 1)
        let path = NSBezierPath(ovalInRect: NSMakeRect(70, 24, 145, 143))
        color.setFill()
        path.fill()
    }
}

var oval = CustomOval(frame: NSRect(x: 0, y: 0, width: 300, height: 300))

有关详细信息,请参阅“使用 Bézier 路径绘制形状”

于 2015-07-29T23:52:59.870 回答