在插入 uitableViewCell 时保持滚动

Posted

技术标签:

【中文标题】在插入 uitableViewCell 时保持滚动【英文标题】:maintain scrolling while inserting uitableViewCell 【发布时间】:2017-10-23 05:41:45 【问题描述】:

我正在开发一个聊天应用程序。最初,我只获取 100 条消息,当用户滚动消息并到达第一条消息时,我获取下一条 100 条消息并重新加载数据。我通过设置内容偏移量来保持滚动位置,但在这种情况下,滚动停止并且用户在滚动时会感到抽搐。如何保持滚动速度,让用户不知道表格是否重新加载。

【问题讨论】:

【参考方案1】:

你需要在到达最底层之前完成它。您可以使用委托方法func tableView(UITableView, willDisplay: UITableViewCell, forRowAt: IndexPath) 检查您的单元格计数是否达到 70%(可能或多或少,您必须尝试)。然后启动加载下一个数据。不要忘记标记您当前正在加载,否则您最终会收到无限量的加载调用。

【讨论】:

我也这样做了,但是滚动停止并且用户在滚动时感觉到了混蛋。 延迟可能是因为您明确设置内容偏移量。删除它,您可以尝试 Igor 那里的建议 ***.com/questions/37614934/… ,重新加载后您的滚动位置应该保持不变

以上是关于在插入 uitableViewCell 时保持滚动的主要内容,如果未能解决你的问题,请参考以下文章

Swift UITableViewCell 滚动时按钮状态更改

如何创建具有复杂内容的 UITableViewCells 以保持滚动流畅

UITableViewCell 图像在上下滚动后发生变化,但 TextLabel 文本保持不变(iOS8,Swift)

试图使 UITableViewCell 可滑动和可点击,同时保持 UITableView 可滚动,为啥我的单元格滑动有时只能工作?

如何将 textarea 的插入符号始终保持在视口内?

在 UITableViewCell 内水平滚动 UIScrollView