NSTreeController初步使用(四) 展开控制

 如果不使用NSTreeController的话那么可以在dataSource里重写

- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item

使它像一个叶节点表现,没有左边的三角号

还可以使用delegate里的

- (BOOL)outlineView:(NSOutlineView *)outlineView shouldExpandItem:(id)item

虽然是个父节点,有三角号,但是可以不展开

在使用NSTreeController的时候delegate照常使用,但dataSource的东西应该都不能用了,那么展开控制,使之像一个叶节点一样来用的话。。。这里应该在Node里做手脚

自定义节点里实现这个方法的时候

-(BOOL)isLeaf

{

    return  [Your expessions];

}

这里如果返回NO的话就是叶节点,如果返回YES就是一个正常节点。

你可能感兴趣的:(id,expand,展开)