如何在不隐藏列标题的情况下更改 NSTableHeaderView 背景颜色?
How ro change NSTableHeaderView's background color without hiding column's titles?
我的 Swift OS X 应用程序上有 view-based NSTableView 使用故事板,它有 12 列。
我将 headerview 子类化并尝试了不同的东西来改变背景颜色,但它们都隐藏了我的标题。
这是尝试做的众多示例之一:
override func drawRect(dirtyRect: NSRect) {
super.drawRect(dirtyRect)
// Drawing code here.
var myLayer = CALayer()
myLayer.frame = self.frame
myLayer.backgroundColor = NSColor.greenColor().CGColor
self.layer?.addSublayer(myLayer)
那个关于用绿色填充整个标题视图的例子,所以我试图告诉我想要这样的标题到我的列:
self.tableView?.tableColumnWithIdentifier("date")?.title = "Date"
...但是没有任何反应。有人可以帮忙吗?
在我的一个应用程序中,我想做(几乎)相同的事情再加上一点(改变 headerView 的高度)。因此我 subclassed (不是 NSTableHeaderView 而是) NSTableHeaderCell
用我自己的 subclass 复制标题,字体,stringValue 等。细胞。 (我无法在 IB 中执行此操作。)
我首先用 class 的 objects 以编程方式替换了 headerView 的所有单元格。在这里(在方法 - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
中)我设置了 backGroundColor。效果很好。
我的提示:不要将 backGroundColor 设置在(子class
NSTableHeaderView
) 但在 NSTableHeaderCell
.
的子 class 中
我的 Swift OS X 应用程序上有 view-based NSTableView 使用故事板,它有 12 列。
我将 headerview 子类化并尝试了不同的东西来改变背景颜色,但它们都隐藏了我的标题。
这是尝试做的众多示例之一:
override func drawRect(dirtyRect: NSRect) {
super.drawRect(dirtyRect)
// Drawing code here.
var myLayer = CALayer()
myLayer.frame = self.frame
myLayer.backgroundColor = NSColor.greenColor().CGColor
self.layer?.addSublayer(myLayer)
那个关于用绿色填充整个标题视图的例子,所以我试图告诉我想要这样的标题到我的列:
self.tableView?.tableColumnWithIdentifier("date")?.title = "Date"
...但是没有任何反应。有人可以帮忙吗?
在我的一个应用程序中,我想做(几乎)相同的事情再加上一点(改变 headerView 的高度)。因此我 subclassed (不是 NSTableHeaderView 而是) NSTableHeaderCell
用我自己的 subclass 复制标题,字体,stringValue 等。细胞。 (我无法在 IB 中执行此操作。)
我首先用 class 的 objects 以编程方式替换了 headerView 的所有单元格。在这里(在方法 - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
中)我设置了 backGroundColor。效果很好。
我的提示:不要将 backGroundColor 设置在(子class
NSTableHeaderView
) 但在 NSTableHeaderCell
.