如何在NSTableView中设置列边距?

时间:2010-11-03 22:58:00

标签: cocoa macos

我想在NSTableView的列边距中添加更多填充(即列左侧与列文本之间的间隙更大)。

调用setIntercellSpacing可以为行提供技巧,但它会使列标题边距不受影响。任何人都可以提供解决方案吗?

由于

1 个答案:

答案 0 :(得分:0)

我首先要说在表格列标题单元格文本之间有边距有点奇怪,但这只是我的看法。

据我所知,目前没有API支持的方法可以做到这一点。您可以通过向列请求其标题单元格(它是NSTextFieldCell的子类),设置其属性字符串值(通过-setAttributedStringValue :)来实现此效果。您可能还必须将-setAllowsEditingTextAttributes:设置为YES,但我不确定。

另一种方法是子类化NSTableHeaderCell并覆盖-titleRectForBounds:以传递矩形超级返回的宽度插入副本。然后,您必须通过-setHeaderCell:。

替换列的标题单元格