我的Cocoa应用程序有一个基于视图的表格视图。
该表显示日历的一周,其中每列是从(比如)周日到周六的一天。
我想以某种方式突出显示与“今天”相对应的专栏; 理想,为文本字段添加彩色背景,圆角;像这样的东西:
(这在iOS中实现是微不足道的。在macOS上,使用单元格等而不是视图和图层,一切看起来都那么复杂......)
但是,我甚至无法更改标题单元格的文本或背景颜色。下面的代码(Swift 3)是,但所有列标题都显示为默认颜色:
let columns = tableView.tableColumns
// (currentWeek is an array of NSDate)
for (index, day) in currentWeek.enumerated() {
let column = columns[sundayIndex + index]
if Shared.calendar.isDateInToday(day) {
// THESE TWO LINES ARE EXECUTED, BUT...
column.headerCell.textColor = NSColor.red
// ...NO EFFECT
column.headerCell.backgroundColor = NSColor.black
// ...NO EFFECT
}
// THIS WORKS FOR EVERY ROW:
column.headerCell.stringValue = formatter.string(from: day)
}