更改NSDatePicker的默认突出显示颜色

时间:2018-06-28 18:11:07

标签: objective-c cocoa nsdatepicker

我正在将NSDatePicker子类化以实现日历小部件。我可以通过设置NSDatePicker的textColor属性来更改文本颜色,但是当我单击NSDatePicker的任何字段(如月/年/日)时,默认颜色会有些蓝色。

我想将突出显示颜色更改为某些自定义颜色,但是我无法做到这一点。我尝试覆盖highlightColorWithFrame:inView:highlight:withFrame:inView:,但没有任何效果。 这就是现在的样子

enter image description here

1 个答案:

答案 0 :(得分:0)

我不建议更改控件的选择颜色,因为maxOS Mojave允许用户在系统偏好设置中自定义强调颜色。

如果您仍在寻找自定义项,则必须自定义NSDatePickerCell的图形,而不是自定义控件的图形。我会尝试覆盖

draw(withFrame cellFrame: NSRect, in controlView: NSView)

但是对于NSDatePickerCell来说,可能会更加困难,因为存在多个datePicker元素。