【问题标题】:cellForRowAtIndexPath is being called for non visible cells also也为不可见的单元格调用 cellForRowAtIndexPath
【发布时间】:2018-11-20 06:35:59
【问题描述】:

tableview 数据源方法 cellForRowAtIndexPath 正在为不可见的行调用,这也会在 tableview 的分页中产生问题。有人遇到过这个问题吗?

【问题讨论】:

  • 仅仅因为它在您的屏幕上不可见并不意味着它不可见。可见和不可见由您的 tableView 框架决定。检查您的表格视图框架。另外,请使用屏幕截图和代码详细说明您的问题。
  • 使用预取数据源属性进行分页。

标签: ios uitableview swift4.2


【解决方案1】:

系统调用此方法提前准备单元格,因此滚动更流畅,响应更快。如果您想在用户向下/向上滚动时获取更多数据,您应该实现 UITableViewDelegate 方法 tableView(_:willDisplay:forRowAt:) - 在单元格显示给用户之前调用此方法。

【讨论】:

  • func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) 也被不可见单元格调用
  • 您是否在 viewDidLoad 中设置了代理?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-09
  • 1970-01-01
相关资源
最近更新 更多