Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 如何在NSTableView中设置列边距?_Cocoa_Macos - Fatal编程技术网

Cocoa 如何在NSTableView中设置列边距?

Cocoa 如何在NSTableView中设置列边距?,cocoa,macos,Cocoa,Macos,我想在我的NSTableView中为列边距添加更多的填充(即,列左侧和列文本之间的间距更大) 调用setIntercellSpacing对行执行此操作,但不影响列标题边距。有人能提供解决方案吗 谢谢首先,我要说的是,在表列标题和单元格文本之间留有边距有点奇怪,但这只是我的观点 据我所知,目前还没有支持API的方法来完成这项工作。您可能可以通过向列询问其标题单元格(这是NSTextFieldCell的子类)并设置其属性字符串值(通过-setAttributedStringValue:)来实现此效果

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

调用setIntercellSpacing对行执行此操作,但不影响列标题边距。有人能提供解决方案吗


谢谢

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

据我所知,目前还没有支持API的方法来完成这项工作。您可能可以通过向列询问其标题单元格(这是NSTextFieldCell的子类)并设置其属性字符串值(通过-setAttributedStringValue:)来实现此效果。您可能还必须将-setAllowEditingTextAttributes:设置为YES,但我不确定


另一种方法是子类NSTableHeaderCell并重写-titleRectForBounds:传递矩形超返回的宽度插入副本。然后,您必须通过-setHeaderCell:.替换列的标题单元格。

Hi Joshua-感谢您抽出时间提供答案。我怀疑没有一个简单的解决办法。关于它的“怪异”,我只是想让它看起来像是处于“列表”模式的查找窗口。你的观点很好理解。我甚至没有注意到这种行为。再说一遍,我通常在列视图中。:-)