我正在尝试制作一个简单的彩色NSButton。似乎有两个问题我无法解决:
1。 如何在单击时停止突出显示该按钮?我为我的按钮设置了红色背景:
即使单击按钮,我怎么能保持背景颜色?
我尝试了不同的东西:
class myButton: NSButton {
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
self.wantsLayer = true
self.isBordered = false
self.title = "hello"
self.setButtonType(NSMomentaryLightButton)
self.layer?.cornerRadius = 0
self.layer?.borderWidth = 0
self.layer?.masksToBounds = false
self.layer?.backgroundColor = NSColor.red.cgColor
self.appearance = NSAppearance(named: NSAppearanceNameAqua)
}
}
到目前为止,没有任何影响。感谢大家的帮助和想法。
// UPDATE
我实现了我的目标,将其添加到代码中:
let color = NSColor.red
color.setFill()
NSRectFill(dirtyRect)
不幸的是,之后,按钮的标题不再显示。那么可能是在NSRectFill之后如何显示按钮标题的问题?