我调整窗口大小时自动重新加载NSTableView如何禁用它

时间:2012-05-15 20:26:56

标签: objective-c cocoa nstableview

NSTableView当我调整窗口大小时自动重新加载并且我在表重新加载时计算一些东西,现在我有问题,因为它会自动重新加载。如何禁用它?我发现以下答案但不起作用

[self.tbl setFocusRingType:NSFocusRingTypeNone];

1 个答案:

答案 0 :(得分:3)

你做不到。表视图没有表中值的内部存储。它使用数据源作为其存储。如果调整表视图大小要求它绘制新的行或列,甚至重绘现有的行和列,它必须查阅数据源以获取执行此操作所需的信息。

您所学的是在数据源方法中进行昂贵的计算是不合适的。来自-tableView:objectValueForTableColumn:row:的文档:

  

tableView:objectValueForTableColumn:row:每次调用表时   需要重新显示单元格,因此必须高效

(强调补充。)