【问题标题】:How to Append data on pull to refresh Tableview in ios?如何在拉取数据时附加数据以刷新 ios 中的 Tableview?
【发布时间】:2015-08-27 05:39:20
【问题描述】:

当我在 ios 中拉动刷新表时,如何每次添加 20 个数据。第一次加载 20 个数据,然后在 pulltorefresh 添加 20 个数据等等。

【问题讨论】:

  • 在拉取刷新时将这些数据添加到数组并调用 tableView 的 reloadData 方法。
  • @anand prakash 看看我的这个答案stackoverflow.com/a/32241393/3767017,它会解决你的问题吗
  • @Lea-rner 你能建议我这个或我必须做的代码吗?
  • 你通过代码
  • 我是 ios 新手,遇到你的代码问题

标签: ios objective-c iphone uitableview pull-to-refresh


【解决方案1】:

这并不是“拉动刷新”应该如何工作的。它应该真正刷新正在显示的数据,而不是替代“加载更多”。

为了实现您最初的要求,您需要做的就是记录到目前为止您已经加载了多少元素,并且每次用户拉动刷新时,只需将接下来的 20 个添加到数组中并重新加载表格数据。

但是,您应该做的是按照预期使用的方式实现“拉动刷新”,并为“加载更多”添加另一个逻辑,每当用户一直滚动到表格视图的底部。在那里,您可以再加载 20 个元素并将它们显示给用户。

【讨论】:

    【解决方案2】:

    最简单的方法是使用已经构建的组件。您可以尝试使用SVPullToRefresh。这个 repo 包含 pull to refreshinfinite scroll

    Pull to refresh 用于重新加载现有数据,或重置所有数据并仅拉取最新数据。

    无限滚动 用于在滚动时附加数据。

    如果您只需要无限滚动,那么您可以选择这个 - UIScrollView-InfiniteScroll

    如果您有兴趣并想看看更难的拉动刷新(也可以在无限滚动中进行类似的操作)。那么最好看的可能是CBStoreHouseRefreshControl

    【讨论】:

      【解决方案3】:
      - (void) scrollViewDidScroll:(UIScrollView *)scrollView {
      
          if (scrollView == scrollObj) {
              CGFloat scrollPosition = scrollObj.contentSize.height - scrollObj.frame.size.height - scrollObj.contentOffset.y;
              if (scrollPosition < 30)// you can set your value
              {
                  //code here you want to do when refresh done
                  //Suppose you have 20 record in arryTemp
                  //arryTemp is used to populate data into table
                   for(int i=0;i<arryTemp.count;i++){
                       arryTemp =[aryyTemp addObject(arryTemp  objectAtIndex(i)];
                   }
                   [tableView reloadData]
              }
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2019-04-30
        • 1970-01-01
        • 2016-12-11
        • 2017-09-22
        • 2011-06-22
        • 1970-01-01
        • 2017-12-13
        • 1970-01-01
        • 2011-10-18
        相关资源
        最近更新 更多