NSOutlineView + XIB

时间:2013-01-23 08:39:42

标签: objective-c xcode4

进入NSOutlineViews并看到它们是一个有用的控件。

是否可以将 Xib 显示为根项目 ??

Fritzables。

3 个答案:

答案 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