为什么我的基于单元格的NSTableView会调用viewForTableColumn方法?

5

我有一个视图控制器,它是两个表格的委托,一个是基于视图的表格,一个是基于单元格的表格。其中基于单元格的表格在调用viewForTableColumn时应该调用objectValueForTableColumn。我在界面构建器中再次确保它是基于单元格的表格。


我有同样的问题。我想让NSViewController实例成为基于视图和基于单元格的表格的代理。不幸的是,虽然tableView:viewForTableColumn:row:方法被调用了,但对于基于单元格的表格,它的内容根本没有显示出来。 - dzolanta
2个回答

5

如果NSTableView的委托实现了tableView:viewForTableColumn:row:方法,NSTableView会自动切换到基于视图的模式。

你需要为这两个表格视图分别创建不同的委托。


1
View-Based Table Views 和 Cell-Based Table Views 不兼容,您可以有两个不同的代理,或者将基于单元格的表转换为基于视图的表,然后在 tableView:viewForTableColumn:row: 中使用以下代码使其看起来像是基于单元格的表: NSTableCellView *cell = [tableView makeViewWithIdentifier:@"textFieldCell" owner:self]; 其中 textFieldCell 是单元格的标识符。然后,您可以使用以下代码设置要出现在单元格中的字符串: [[cell textField] setStringValue:desiredString]; 在方法末尾返回变量 cell。

在编程中,您要如何设置@"textFieldCell"作为标识符?(通过编程实现) - Erika Electra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接