Как отключить расширение всего поддерева элемента в NSOutlineView?

Как вы знаете, если вы щелкнете по раскрывающемуся треугольнику элемента в NSOutlineView, он расширит все поддерево этого элемента. Но, если это поддерево содержит слишком много элементов (например, дерево файловой системы), последствия этого действия могут быть трагическими для вашего приложения. Вопрос в том, как отключить эту опцию?


person Hohol    schedule 31.05.2012    source источник


Ответы (1)


Решено путем добавления этого метода в структуру делегата представления.

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