我遇到了一个非常奇怪的问题:
我将NSOutlineView
设置为NSTableViewSelectionHighlightStyleSourceList
。在某些情况下,第二级不缩进并显示在与根节点相同的级别。
我相信这是因为第一级预计会是一个“组”级别。但是,在10.8上,默认情况下所有内容都正确缩进。我在10.7测试时才发现这一点。看起来这种行为在不同版本中都有所改变。
如果符合以下条件,则第二级不缩进:
- (BOOL)outlineView:(NSOutlineView *)outlineView isGroupItem:(id)item
以返回NO 如何让每个级别缩进,就像人们对层级布局所期望的那样并保持源列表样式?
意外缩进:
答案 0 :(得分:1)
似乎缩进仅在第3级开始。因此,要解决此问题,您需要添加一个包装所有当前根节点的节点。该根节点的样式与默认的OSX组节点类似:
不理想,取决于您的UI,但比使用常规NSOutlineView样式更好。
如果您不想显示根标头,可以使用outlineView:heightOfRowByItem:
将高度设置为0
。