我使用这段代码以编程方式生成一些 NSButtons:
for i in 1...height {
for j in 1...width {
var but = NSButton(frame: NSRect(x: x, y: y + 78, width: 30, height: 30))
but.tag = k
but.title = ""
but.action = Selector("buttonPressed:")
but.target = self
but.bezelStyle = NSBezelStyle(rawValue: 6)!
but.layer?.backgroundColor = NSColor.blackColor().CGColor
var ges = NSClickGestureRecognizer(target: self, action: Selector("addFlag:"))
ges.buttonMask = 0x2
ges.numberOfClicksRequired = 1
but.addGestureRecognizer(ges)
ar.append(but)
self.view.addSubview(but)
x += 30
k++
}
y += 30
x = 0
}
而且我需要将所有按钮的背景颜色设置为灰色或黑色(随机)。我不知道如何获取或设置 NSButton
背景色。我对 swift 编程还很陌生,我也不太了解 obj-c,所以如果你能用 swift 编写它,我将非常感激!
最佳答案
我正在用这段代码来做
final class MyButton: NSButton {
override func awakeFromNib() {
let layer = CALayer()
layer.backgroundColor = CGColorCreateGenericRGB(59.0/255, 52.0/255.0, 152.0/255.0, 1.0)
self.wantsLayer = true
self.layer = layer
}
}
关于macos - 以编程方式快速设置 NSButton 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29418310/