【问题标题】:Infinite Scroll on iOS with Swift使用 Swift 在 iOS 上无限滚动
【发布时间】:2014-09-29 17:36:41
【问题描述】:

我是 iOS 新手,我想知道如何检测用户何时滚动并到达 UITableView 的底部,以便将新数据加载到表格中。

我也想知道这样的方法应该在哪里实现(tableview的类或者这个tableview所在的view controller) 干杯!

【问题讨论】:

标签: ios swift infinite-scroll


【解决方案1】:

您可以使用-(void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 来检查最后一个单元格是否会显示在 TableView 的数据源中。

【讨论】:

  • 这行得通! Here 是它的快速代码。谢谢!
  • 我添加了an answer here,它在 Swift 中显示了这一点
【解决方案2】:

iOS 的 TableViewController 会自动处理这些问题。它仅向其数据源询问表中当前可见的行 (tableview.cellForRowAtIndexPath)

请参阅UITableViewDatasource Protocol Reference 的文档

【讨论】:

    【解决方案3】:

    如果您有一个“已知数据集”(例如,您不需要进行网络调用来获取新数据),那么就像@zizoft 所说,它将在 tableview.cellForRowAtIndexPath

    但是,如果您有一个“未知数据集”(例如,您需要从互联网上下载数据),您需要做一些更有趣的事情 - @ansible 的建议是在这种情况下是合适的。

    【讨论】:

    • 我有一个未知数据集,我必须从服务器获取数据。基本上,我想要像 Facebook 的新闻提要这样的东西,您可以在其中滚动,当您到达新闻提要的底部时,会发出请求并附加更多“故事”。我需要 Swift 代码,而不是 Objective-C 代码。 :)
    • 我还没有做太多 Swift,但我认为你会在 Swift 中使用与在 Objective-C 中相同的 API。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    • 2014-04-08
    • 2015-10-03
    • 1970-01-01
    • 2021-04-02
    • 1970-01-01
    相关资源
    最近更新 更多