gpt4 book ai didi

swift - 在 cocoa swift 中绘图

转载 作者:可可西里 更新时间:2023-11-01 00:59:13 25 4
gpt4 key购买 nike

我一直在尝试使用 swift 在 cocoa 应用程序中绘制一条简单的线,但是我未能完全理解如何使用 CGContext 类。

我创建了这个类:

import Cocoa
class Drawing: NSView {
override func drawRect(dirtyRect: NSRect) {
super.drawRect(dirtyRect)

let context = NSGraphicsContext.currentContext()?.CGContext;

CGContextBeginPath(context)
CGContextMoveToPoint(context, 0, 0)
CGContextAddLineToPoint(context, 100, 100)
CGContextSetRGBStrokeColor(context, 1, 1, 1, 1)
CGContextSetLineWidth(context, 5.0)
CGContextStrokePath(context)

}
}

并像这样在主窗口中使用它

override func viewDidLoad() {
super.viewDidLoad()
let dr = Drawing()
self.view.addSubview(dr)
dr.drawRect(NSRect(x: 0, y: 0, width: 100, height: 100))
}

但它什么也没做

最佳答案

您需要使用框架初始化您的绘图 View ,否则系统将不知道在哪里绘制它,如下所示:

override func viewDidLoad() {
super.viewDidLoad()
let dr = Drawing(frame: NSRect(x: 0, y: 0, width: 100, height: 100))
self.view.addSubview(dr)
}

另外正如David所说,您不需要自己调用drawRect,系统会自动调用它。

关于swift - 在 cocoa swift 中绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38079917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com