Я пытаюсь решить простую проблему расширения только корневого элемента в моем NSOutlineView, но не повезло. Я могу расширить все элементы и выбранные элементы, но, похоже, не могу понять, как точно определить, как расширить только корневой узел. В outlineview показано дерево папок, и я хочу показать папки, доступные только под корневой папкой, но я не хочу расширять папки.Развернуть только корневой узел в NSOutlineView
В настоящее время я пытаюсь установить selectionIndexPath моего NSTreeController, а затем расширить выбор в outlineview:
NSIndexPath *indexPath;
NSUInteger section = [indexPath indexAtPosition:0];
NSIndexPath *ip = [NSIndexPath indexPathWithIndex:section];
[outlineView collapseItem:nil collapseChildren:YES];
[self.treeController setSelectionIndexPath:ip];
[outlineView expandItem:[self.treeController selectionIndexPath]];
Это не работает. Предложения о том, как я могу правильно решить это, очень ценятся.
Cheers, Тронд
Решение: Следующая комбинация того, что я уже и @PaulPatterson предложение отлично работает:
[outlineView collapseItem:nil collapseChildren:YES];
NSIndexPath *indexPath;
NSUInteger section = [indexPath indexAtPosition:0];
NSIndexPath *ip = [NSIndexPath indexPathWithIndex:section];
[outlineView collapseItem:nil collapseChildren:YES];
[self.treeController setSelectionIndexPath:ip];
id node = [[self.treeController selectedNodes] firstObject];
[outlineView expandItem:node];
Спасибо за вашу дальнейшую помощь по моим вопросам NSOutlineView! –