我如何制作一个custon NSDatePickerCell来更改选择颜色?

时间:2019-05-02 11:30:19

标签: swift macos datepicker

我需要创建一个自定义NSDatePickerCell来自定义突出显示的颜色。

我也在这里读了另一个问题:Hightlight color for NSDatepickerCell

我重写了该方法:

override func highlightColor(withFrame cellFrame: NSRect, in controlView: NSView) -> NSColor? {
        return NSColor.green
}

此方法永远不会被调用。

另一种方法是

override func highlight(_ flag: Bool, withFrame cellFrame: NSRect, in controlView: NSView) {
    NSColor.green.set()
    cellFrame.fill()
}

但是,如果我在此方法中为单元格框架设置颜色,则程序将崩溃:

  

CGContext无效

有人可以帮我吗?

谢谢

1 个答案:

答案 0 :(得分:1)

我认为无法通过覆盖NSDatePickerCell来完成此操作。它不使用highlightColor,而是使用用户在“系统偏好设置”中设置的系统强调颜色。

更改选择颜色的唯一方法可能是子类NSControl并创建自己的选择器。