当前位置:  开发笔记 > 编程语言 > 正文

NSOutlineView - 自动扩展所有节点

如何解决《NSOutlineView-自动扩展所有节点》经验,为你挑选了1个好方法。

我有一个NSOutlineView约束NSTreeController(如果这有所不同),我想扩展我的每个节点-awakeFromNib().

我还想以编程方式同时选择第一个节点的第一个子节点.这些类型的东西在表格视图中很简单,但大纲根本不与我合作.

谢谢,

丰富



1> Peter Hosey..:

我想扩展我的-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].

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有