从NSOutlineView中削减几个级别的缩进

时间:2013-03-19 06:21:18

标签: objective-c macos cocoa nsoutlineview appkit

我有一个大纲视图,其中想要缩进顶级夫妻级别(无论如何他们都有独特的外观),但我想要缩进后续水平。我怎么能这样做?

我已尝试覆盖-levelForRow:-levelForItem:从返回值中减去2,但这没有用。我也尝试重写-frameOfOutlineCellAtRow:从帧的宽度中减去2 * indentationPerLevel,但这也没有帮助,可能是因为我没有显示显示三角形。关于如何解决这个问题的任何想法?

大纲视图绑定到NSTreeController,这使得难以展平底层数据结构,但我确实设置了大纲视图委托。

1 个答案:

答案 0 :(得分:8)

解决方案是使用frameOfCellAtColumn:row:方法{/ 1}}。

NSTableView

此方法控制基于单元格和基于视图的表格视图和大纲视图中的布局。