【问题标题】:Is there quick way to know what cell is out of device screen in UITableView?有没有快速的方法可以知道 UITableView 中设备屏幕外的单元格是什么?
【发布时间】:2012-01-11 16:32:35
【问题描述】:

我有很多单元格的 tableView。我需要删除用户在滚动 tableView 时传递的单元格。

cellForRowAtIndexPath 在用户滚动到此单元格以执行其内容时调用,问题 是否有类似的方法可以知道哪些单元格在屏幕外滚动?

【问题讨论】:

  • 你到底想做什么? tableView 只会为一屏(加上一点)数据创建尽可能多的单元格,并将重新使用它们进行滚动。您不需要对滚动到屏幕外的单元格执行任何操作。
  • 我不需要任何与屏幕外的单元格并且它可以工作的东西,但是如果确实有很多包含大量内容的单元格,我需要删除这些内容,因为它需要很多记忆

标签: objective-c ios uitableview


【解决方案1】:

看看UITableViewvisibleCells方法。它会告诉您哪些是可见的。然后我假设您知道总共有多少个单元格,您可以通过逻辑计算出哪些单元格不可见。

【讨论】:

  • 我看到了这种方法,但我认为它不是每个单元格的正确方法,用于分析哪些单元格不在屏幕上,哪些被删除,哪些不是
  • 我不太明白。删除哪些是什么意思?对于表格视图决定要求您提供的每个单元格,您将收到一个cellForRowAtIndexPath 呼叫。不要用它来确定可见性。为此使用visibleCells
  • 对不起,没有被删除,我不想删除任何单元格,只是为了让屏幕外的所有单元格都为空(删除内容)。
  • 那些不在屏幕上的实际上不会在那里。 UIKit 会将它们从屏幕上移除,并将它们放入该表视图的重用池中。你为什么担心屏幕外的那些?
  • 单元格在池中,但内容没有被删除,这就是为什么应用程序很重只是因为单元格很多,所以最好的方法是删除不必要的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
  • 1970-01-01
  • 2015-05-25
相关资源
最近更新 更多