【问题标题】:Wait for user to finish interacting with UITableView等待用户完成与 UITableView 的交互
【发布时间】:2016-03-19 06:37:37
【问题描述】:

我想在其应用中实现 Gmail 的功能。也就是说,它在下拉刷新时在后台获取电子邮件,当数据可用时,它将更新 UITableView。但是,如果用户在更新 UITableView 之前与 UITableView 进行交互,则应用程序会等到用户释放他的触摸然后更新它。如何在 iOS 和 Android 上实现这一点?

【问题讨论】:

  • 我认为你必须对 pull to refresh 进行研究。
  • 我知道 UIRefreshControl。但是我正在谈论的情况是,假设用户正在滚动 uitableview,并且当他/她这样做时,异步任务已经完成了它的任务,现在准备好在主线程上更新 uitableview。但由于用户正在滚动,应用会等到用户完成滚动后再更新。

标签: android ios uitableview listview android-recyclerview


【解决方案1】:

互联网上有多个教程可以实现这一点。基本上你必须使用UIRefreshControl。查看this 答案或this 教程。

【讨论】:

  • 我知道 UIRefreshControl。但是我正在谈论的情况是,假设用户正在滚动 uitableview,并且当他/她这样做时,异步任务已经完成了它的任务,现在准备好在主线程上更新 uitableview。但由于用户正在滚动,应用会等到用户完成滚动后再更新。
  • 我不明白,所以您希望您的表格视图在滚动时或仅在滚动停止时更新?
  • 我希望它等到滚动或点击停止然后更新。
  • 您可以从UITableViewDelegate 实现optional func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) 方法并检查它是否获取了新数据,如果是,则将其添加到表中。对于检查,您可以使用bool。后台请求完成后设置,检查上面的方法是否设置。
  • 好的。我想这会奏效。谢谢您的帮助。还有是否可以检查用户是否正在点击 uitableview 或单元格?因为我也想为点击实现相同的功能。即仅在点击结束后更新。
猜你喜欢
  • 1970-01-01
  • 2017-11-18
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 2010-11-24
  • 2011-07-08
  • 2017-07-26
  • 2015-10-17
相关资源
最近更新 更多