进入NSOutlineViews并看到它们是一个有用的控件。
是否可以将 Xib 显示为根项目 ??
Fritzables。
答案 0 :(得分:2)
是的,当您使用基于视图的NSOutlineView
时。首先使用registerNib:forIdentifier:注册要为单元格显示的笔尖(窗口控制器中的windowDidLoad
将是一个好地方,awakeFromNib也是可能的。)
NSNib *cellNib = [[NSNib alloc] initWithNibNamed:@"MyCell" bundle:nil];
[self.outlineView registerNib:cellNib forIdentifier:@"MyIdentifier"];
接下来在你的outlineView:viewForTableColumn:item:
中,你可以使用之前指定的标识符获得一个(可能是回收的)你的笔尖实例:
- (NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item
{
NSView *cellView = [outlineView makeViewWithIdentifier:@"MyIdentifier" owner:self];
// optional configuration here
return cellView;
}
我有一个blog post + mac app sample code来证明这一点。
答案 1 :(得分:0)
是。您只需将其切换为使用基于视图的单元格。
在您的委托中,实施outlineView:viewForTableColumn:item:
以提供正确的XIB。
答案 2 :(得分:-1)
是的,可能,NSOutlineView
是 Mac OS X 中另一个出色的可视控件。作为NSTableView的后代它代表了分层数据。您可以折叠和展开节点,查看父母及其子女。在本文中,我们将描述如何使用NSOutlineView来显示DASchema对象,它本质上是树状数据的一个很好的例子。
有关详情,请查看Here