我在Swift OS X应用程序上使用基于视图的NSTableView使用故事板,它有12列。
我将我的标题视图子类化并试图改变背景颜色,但所有这些都隐藏了我的标题。
这是尝试做的许多例子之一:
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"
......但没有任何反应。有人可以帮忙吗?
答案 0 :(得分:1)
在我的一个应用程序中,我想要(差不多)再多做一些(更改headerView的高度)。因此,我将(不是NSTableHeaderView,但是) NSTableHeaderCell
子类化为我自己的子类,从原始单元格复制title,font,stringValue等。 (我无法在IB中这样做。)
我首先用编程方式将headerView的所有单元格替换为我的类的对象。在这里(在方法- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
中)我设置了backGroundColor。这很有效。
我的提示:不要将backGroundColor设置为(。的子类)
NSTableHeaderView
)但在NSTableHeaderCell
的子类中。