【问题标题】:Why is my cell based NSTableView calling viewForTableColumn?为什么我的基于单元格的 NSTableView 调用 viewForTableColumn?
【发布时间】:2012-05-01 09:14:48
【问题描述】:

我有一个视图控制器,它代表 2 个表、一个基于视图的表和一个基于单元格的表。基于单元格的表格在应该调用objectValueForTableColumn 时调用viewForTableColumn。我更加确定它是界面构建器中基于单元格的表格。

【问题讨论】:

  • 我也有同样的问题。我希望 NSViewController 实例成为基于视图和基于单元格的表的代表。不幸的是,虽然为基于单元格的方法调用了 tableView:viewForTableColumn:row: 方法,但它的内容根本不显示。

标签: objective-c xcode cocoa nstableview


【解决方案1】:

如果NSTableView 的委托实现tableView:viewForTableColumn:row: 方法,NSTableView 会自动切换到基于视图。 您必须为 2 个表视图创建不同的委托

【讨论】:

    【解决方案2】:

    基于视图的表格视图和基于单元格的表格视图不能混合使用,您可以有两个不同的委托,也可以将单元格基础表格转换为基于视图的表格,然后使用tableView:viewForTableColumn:row: 中的以下代码来制作它看起来像一个基于单元格的表格:

    NSTableCellView *cell = [tableView makeViewWithIdentifier:@"textFieldCell" owner:self];

    其中textFieldCell 是单元格的标识符。然后使用以下代码设置要在单元格中显示的字符串:

    [[cell textField] setStringValue:desiredString];

    在方法结束时返回变量单元格

    【讨论】:

    • 在哪里以及如何将@"textFieldCell" 设置为标识符? (以编程方式)
    猜你喜欢
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    相关资源
    最近更新 更多