Cocoa NSOutlineView,源列表高亮显示,不缩进第二级

Cocoa NSOutlineView,源列表高亮显示,不缩进第二级,cocoa,nsoutlineview,Cocoa,Nsoutlineview,我遇到了一个非常奇怪的问题: 我将NSOutlineView设置为NSTableViewSelectionHighlightStyleSourceList。在某些条件下,第二个级别不会缩进,并且显示在与根节点相同的级别上 我认为这是因为第一个层次应该是“群体”层次。但是,在10.8中,默认情况下所有内容都正确缩进。我只是在10.7测试时才发现这个。看起来此行为在不同版本中有所改变 第二级不缩进,如果: 在Mac OS X 10.7 Lion上(行为始终相同) 或者仅在10.8上执行-(BOOL

我遇到了一个非常奇怪的问题:

我将
NSOutlineView
设置为
NSTableViewSelectionHighlightStyleSourceList
。在某些条件下,第二个级别不会缩进,并且显示在与根节点相同的级别上

我认为这是因为第一个层次应该是“群体”层次。但是,在10.8中,默认情况下所有内容都正确缩进。我只是在10.7测试时才发现这个。看起来此行为在不同版本中有所改变

第二级不缩进,如果:

  • 在Mac OS X 10.7 Lion上(行为始终相同)
  • 或者仅在10.8上执行
    -(BOOL)outlineView:(NSOutlineView*)outlineView isGroupItem:(id)item
    返回否
我怎样才能让每一层都像人们期望的那样缩进层次结构布局,并保持源代码列表的样式

意外缩进:


似乎缩进只从第三级开始。因此,要解决这个问题,您需要添加一个节点来包装所有当前根节点。该根节点的样式与默认OSX组节点非常相似:

这并不理想,取决于您的UI,但比使用常规NSOutlineView样式要好


如果不想显示根标题,可以使用
outlineView:heightOfRowByItem:
将高度设置为
0

尝试将大纲视图从源代码更改为常规或普通。请参阅:@MichaMazaheri
[…]并保持源代码列表样式?
。。