【问题标题】:NSTableView detect row scrolled offNSTableView 检测滚动的行
【发布时间】:2018-03-26 20:45:19
【问题描述】:

我有一个基于视图的 NSTableView,每行都必须生成一些需要时间的图像。这些在后台 NSoperationQueue 上完成,并在发出图像请求时启动(通过绑定)。

当一行滚出屏幕时,如果 NSOperation 仍处于挂起状态,我希望能够取消它,但我需要检测一行何时不再可见。我应该在我的 CustomTableRowView、CustomTableCellView 或其他东西上寻找 delloc 吗?

我想我需要相反的 tableView:willDisplayCell:forTableColumn:row:

某种 tableView:willHideCell:forTableColumn:row:

Apple 的 TableView Playground 有评论:

// 如果我们想稍后支持取消已经滚动到屏幕外并且不再需要的操作,我们将不得不使用 NSBlockOperation 来跟踪块。这将留给用户作为练习。

我可以取消操作,但我不确定如何检测一行何时滚动。

【问题讨论】:

    标签: nstableview nstablerowview


    【解决方案1】:

    我相信这可以解决

    tableView:didRemoveRowView:forRow:

    虽然我不确定它是在行滚动后立即调用还是稍后被调用。

    【讨论】:

      猜你喜欢
      • 2021-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多