将分隔符颜色更改为背景或从NSTableView中删除它

问题描述 投票:10回答:4

我希望在基于视图的NSTableView中删除分隔符颜色。

它看起来像这样:

对于UITableView,有一个方法setSeparatorColor:但不适用于NSTableView。

解决方案将受到高度赞赏。

objective-c macos cocoa nstableview
4个回答
13
投票

我做到了这样:

将Intercell间距更改为:

[aTableView setIntercellSpacing:NSMakeSize(0, 0)];

并改变了单元格的高度,将视图的宽度设置为30.f,绘制的单元格为35.f

现在它是完美的,屏幕截图:


9
投票

对于NSTableView,Interface Builder具有Horizontal GridVertical GridGrid Color的设置。这些在API中反映为-setGridStyleMasksetGridColor

他们完全按照你的意愿行事。

[table setGridColor:[NSColor clearColor]];
[table setGridStyleMask:NSTableViewGridNone];

3
投票

Interface Builder的答案:

enter image description here


0
投票

也许我可以提一下,在基于视图的表格中,NSTableRowView负责绘制分隔符。因此,在表的检查器中,将网格设置为“无”并在NSTableRowView子类中实现drawSeparatorInRect:,在您的情况下,这意味着将其留空。

© www.soinside.com 2019 - 2024. All rights reserved.