0

我正在尝试在表格视图中设置复选框的背景颜色,但我很挣扎。目前我的子类NSButtonCell如下:

import Cocoa

class MyCheckBox: NSButtonCell {
    override init(textCell string: String) {
        super.init(textCell: string)
        self.backgroundColor = NSColor.red
    }

    required init(coder: NSCoder) {
        super.init(coder: coder)
    }
}

然后,在身份检查器中,我将复选框的自定义类设置为MyCheckBox,但它似乎不起作用。我不确定分配给是否self.backgroundColor是设置背景颜色的正确方法,或者使用身份检查器是否是让每个复选框使用正确背景颜色的方法,我再次为苹果的庞大数量而苦苦挣扎有关在哪里可以找到此信息的文档。

我还尝试keepOnTopColumn在视图控制器中为该复选框列(名为 )创建一个出口,并尝试让我的自定义类以这种方式工作:

let str: String = ""   
keepOnTopColumn.dataCell = MyCheckBox(textCell: str)

我也尝试直接访问背景颜色:

keepOnTopColumn.dataCell.backgroundColor = NSColor.red  

但这会导致错误“'Any' 类型的值没有成员 'backgroundColor'”

最后,我还尝试影响单元格的父 NSButton:

class MyCheckButton: NSButton {
    override init(frame frameRect: NSRect) {
        super.init(frame: frameRect)
        self.wantsLayer = true
        self.layer?.backgroundColor = NSColor.red as! CGColor
    }

    required init?(coder: NSCoder) {
        super.init(coder: coder)
    }
}
4

0 回答 0