3

NSTableCellView是否可以为基于视图的文件提供单独的 XIB 文件NSTableView?也许在 a 的帮助下NSViewController

4

1 回答 1

2

是的,这似乎是可能的。

来自 Apple 的文档:

为了发挥作用,以编程方式实现的基于视图的表必须实现以下功能:

...

- (NSView *)tableView:viewForTableColumn:row: 由 NSTableViewDelegate 协议定义的方法。此方法既为表格提供了视图以显示为特定列和行的单元格,也为该单元格填充适当的数据。

这样,您可以拥有 NSView 类(或任何子类)的对象并在正确填充数据后将其返回。你从哪里得到这个对象,并不重要。据我所知,可以执行以下操作,例如:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    // Assume you have a XIB called View.xib
    [NSBundle loadNibNamed:@"View" owner:self];
    
    // And you have an IBOutlet to your NSTableView (that's view based) called tView
    [tView reloadData];
}

- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
     return 20;
}

- (NSView *)tableView:(NSTableView *)tableView
   viewForTableColumn:(NSTableColumn *)tableColumn
                  row:(NSInteger)row {


    // Assume your class has an IBOutlet called contentOfTableView, 
    // your class is File's Owner of the View.xib and you connected the outlet.
    return contentOfTableView;

}

希望它有效。我只是把它放在一起,心里有个粗略的想法。祝你好运!

于 2012-05-29T16:03:29.757 回答