NSTableCellView
是否可以为基于视图的文件提供单独的 XIB 文件NSTableView
?也许在 a 的帮助下NSViewController
?
问问题
2210 次
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 回答