如何在NSOutlineView中禁用扩展元素的所有子树?

时间:2012-05-31 06:44:28

标签: objective-c cocoa nsoutlineview

如您所知,如果您选择在NSOutlineView中单击展开元素的三角形,则会展开此元素的所有子树。但是,如果此子树包含太多元素(例如文件系统树),则此操作的效果可能会对您的应用程序造成悲剧性影响。问题是,如何禁用此选项单击功能?

1 个答案:

答案 0 :(得分:4)

通过将此方法添加到大纲视图委托来解决。

- (BOOL)outlineView:(NSOutlineView *)outlineView shouldExpandItem:(id)item
{
    return ([[NSApp currentEvent] modifierFlags] & NSAlternateKeyMask) == 0;
}