我有一个文本字段,绘制在NSButton中。设置正常。按钮,文本字段和值显示:
以下是我如何设置文本字段的代码:
class myButton: NSButton {
var textfield = NSTextField()
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
drawtextfield(text: "hello")
}
func drawtextfield(text: String) {
let dirtyRect = NSRect()
textfield.frame = CGRect(x: self.frame.origin.x, y: self.frame.origin.y, width: self.frame.width, height: self.frame.height)
textfield.stringValue = text
textfield.draw(dirtyRect)
}
}
现在如果我打电话:
myButton.init().drawtextfield(text: "hello2")
我收到错误:CGContextSetCMYKStrokeColor: invalid context 0x0
怎么可能,文本字段是由应用程序的开头绘制的,当函数drawtextfield()
被第二次调用时,我收到错误?建议将不胜感激。