我找到了一些为 UITableView 创建类似内容的指南,但我对它是如何为 Mac OS X 完成的很感兴趣。
我做了以下事情:
我有一个有两列的 NSTableView。对于第一行,来自对象库的模板 TableCellView“图像和文本表格单元视图”工作得很好。对于第二行,我想要一些更复杂的东西,它需要一个自定义的 TableViewCell。
a) 我创建了一个 xib 文件,在其中我从对象库中布置了所需的对象。b) 我将 NSTableViewCell 子类化,将我的 xib 文件连接到 Identity Inspector 中的这个类,并将 IBOutlets 连接到我的 xib 中的东西。
然后我回到我的 NSTableView,拖放“文本表单元格视图”,去掉文本字段,并在 Identity Inspector 中将自定义类设置为我自己的 NSTableViewCell 子类。
在我的
- (NSView*) tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
方法,我取标识符
NSString* identifier = [tableColumn identifier];
如果它等于我的第二个列标识符,我需要返回我的子类的一个实例。
但是我该怎么做呢?我找不到类似的东西:
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SimpleTableCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
我正在使用基于视图的 NSTableView。我开始怀疑我做错了,有更好的方法。非常感谢任何帮助。