我有一个NSOutlineView
绑定到NSTreeController
(如果这有所不同),并且我想扩展我的-awakeFromNib()
中的每个节点。NSOutlineView - 自动扩展所有节点
我也想以编程方式同时选择第一个节点的第一个孩子。这些类型的事情对于表格视图来说很简单,但是轮廓根本不与我合作。
感谢,
丰富
我有一个NSOutlineView
绑定到NSTreeController
(如果这有所不同),并且我想扩展我的-awakeFromNib()
中的每个节点。NSOutlineView - 自动扩展所有节点
我也想以编程方式同时选择第一个节点的第一个孩子。这些类型的事情对于表格视图来说很简单,但是轮廓根本不与我合作。
感谢,
丰富
我想扩大每个节点在我-awakeFromNib()。
从Mac OS X 10.5起,[outlineView expandItem:nil expandChildren:YES]
。
在以前的Mac OS X版本中,您需要从0迭代到行数,使用[outlineView itemAtRow:row]
获取每行的项目,并将这些项目存储到数组中,然后遍历数组并将每个项目项目到expandItem:expandChildren:
方法。 (不能混合两个循环,因为展开项目及其所有后代将更改其后续兄弟的行索引;因此,必须先收集所有顶级项目,然后在完成所有项目后展开它们。 )
我也想以编程方式同时选择第一个节点的第一个孩子。
立即上面后,这将是第1行。
大纲视图是一种表视图,所以你会使用NSTableView的的方法之一:[outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:1] byExtendingSelection:NO]
。
如果你从一个数据源加载,
dispatch_async(dispatch_get_main_queue(), ^{
[self.outlineView expandItem:root expandChildren:YES];
});
完美,谢谢。 为什么传球无效?我试着用我想到的每一个对象来尝试这个消息...... – 2009-02-06 15:27:30