如何正确创建自定义NSTableViewCell并从笔尖加载它?

时间:2015-03-23 14:16:44

标签: objective-c macos cocoa nstableview nstableviewcell

我找到了一些为UITableView创建类似内容的指南,但我对它是如何为Mac OS X做的感兴趣。

我做了以下事情:

  1. 我有一个带有两列的NSTableView。对于第一行,对象库中的模板TableCellView“Image& Text Table Cell View”工作得很好。对于第二行,我想要一些更复杂的东西,这需要一个自定义的TableViewCell。

  2. a)我创建了一个xib文件,在这里我从Object Library中布置了所需的对象。 b)我将NSTableViewCell子类化,将我的xib文件连接到Identity Inspector中的这个类,并将IBOutlets连接到我的xib中的东西。

  3. 然后我回到我的NSTableView,拖放“文本表单元格视图”,删除了文本字段,并在Identity Inspector中将自定义类设置为我自己的NSTableViewCell子类。

  4. 在我的

    • (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn行:(NSInteger)行
  5. 方法,我取标识符

    NSString* identifier = [tableColumn identifier];
    

    如果它等于我的第二列标识符,我需要返回我的子类的实例。

    但我该怎么做?我找不到类似的东西:

    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SimpleTableCell" owner:self options:nil];
    cell = [nib objectAtIndex:0];
    

    我正在使用基于视图的NSTableView。我开始怀疑我做错了,而且有更好的方法。任何帮助非常感谢。

0 个答案:

没有答案