是否可以为基于视图NSTableCellView
的{{1}}创建单独的XIB文件?也许借助于NSTableView
?
答案 0 :(得分: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;
}
希望它有效。我只是把它放在一起,心中有一个粗略的想法。祝你好运!