我在我的Swift OS X应用程序上使用了基于视图的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)
字符串
这个例子上填写整个headerview与绿色,所以我试图告诉我,我想标题的我列这样:
self.tableView?.tableColumnWithIdentifier("date")?.title = "Date"
型
......但什么都没发生。有人能帮帮忙吗?
3条答案
按热度按时间webghufk1#
在我的一个应用程序中,我想做(几乎)相同的事情,再加上一点(改变headerView的高度)。因此,我子类化**(不是NSTableHeaderView,而是)**
NSTableHeaderCell
与我自己的子类复制标题,字体,stringValue等。从原始单元格。(我无法在IB中做到这一点。)我首先用我的类的对象替换了headerView的所有单元格。在这里(在方法
- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
中)我设置了backGroundColor。这工作得很好。我的提示:不要在(
NSTableHeaderView
的子类)中设置backGroundColor,而是在NSTableHeaderCell
的子类中设置。vltsax252#
字符串
参考号:https://developer.apple.com/forums/thread/735989
xmq68pz93#
添加背景和分隔符颜色
字符串