我的问题是我无法在视图控制器中使用swift为OSX编写的应用程序绘制椭圆形。
我在视图控制器中有以下代码:
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写这篇文章。我的问题是为什么,当我编译代码是椭圆形不显示?
在Cocoa中,实现NSView
的drawRect
方法来绘制视图。使用您现有的代码,参见以下与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))
请参阅"使用bzier路径绘制形状"获取更多信息。