如何在表格视图底部显示上拉刷新控件?

Posted

技术标签:

【中文标题】如何在表格视图底部显示上拉刷新控件?【英文标题】:how to show pull up to refresh control in the bottom of tableview? 【发布时间】:2015-05-25 11:27:44 【问题描述】:

在 tableView 中,当我从顶部下拉时,它正在获取数据。但是如果我想在tableView中从底部拉出数据,我该如何实现,请建议我

【问题讨论】:

github.com/151283250/MJRefresh 【参考方案1】:

我也遇到了这种情况,最后我找到了一些答案,比如UIRefreshControl at the bottom of the UITableView ios6?,因此在页脚视图中实现了我们的UIActivityIndicatorView。因此它现在工作正常。

    // call this method in `viewDidLoad` and connect the tableview delegates.

    -(void)initializeRefreshControl
    
        indicatorFooter = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(tableVeiwMarkets.frame), 44)];
        [indicatorFooter setColor:[UIColor blackColor]];
        [indicatorFooter startAnimating];
        [self.tableVeiwMarkets setTableFooterView:indicatorFooter];
    

    -(void)refreshTableVeiwList
    
// your refresh code goes here
    
    -(void)scrollViewDidScroll: (UIScrollView*)scrollView
    
        if (scrollView.contentOffset.y + scrollView.frame.size.height == scrollView.contentSize.height)
        
            [self refreshTableVeiwList];
        
    

【讨论】:

如果我想用 indicatorFooter 设置文本,我该如何设置文本|? 您可以将标签添加到该页脚视图。因此,您可以创建自定义指标视图。 天才解决方案。我怎么没想到?哈哈哈。【参考方案2】:

请在表格视图底部找到以下控件以显示下拉刷新

网址:https://github.com/vlasov/CCBottomRefreshControl

【讨论】:

这个只刷新一次。它没有第二次调用刷新函数拉刷新。 好的,我自己找到了答案...我们需要调用 [refreshcontroll endRefreshing];加载完成后 CCBottomPullToRefresh 在我的 Swift 项目中运行,但未显示活动指示器。你能帮忙吗 感谢@RamkrishnaSharma 的帮助 我的标签栏高度是个问题,所以指示器隐藏在它后面。现在可以正常使用了,谢谢【参考方案3】:

您可以为此使用MNMBottomPullToRefresh。它易于使用

1) 将整个 MNMBottomPullToRefresh 文件夹复制到您的项目中

2) 在你的 UIViewController 类中,创建一个 MNMBottomPullToRefreshManager 来链接 UITableView 和 MNMPullToRefreshView。在 viewDidLoad 中使用这样的句子

pullToRefreshManager_ = [[MNMBottomPullToRefreshManager alloc] initWithPullToRefreshViewHeight:60.0f tableView:table withClient:self];


- (void)scrollViewDidScroll:(UIScrollView *)scrollView

[pullToRefreshManager_ tableViewScrolled];



- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate: (BOOL)decelerate
 
  [pullToRefreshManager_ tableViewReleased];
 


- (void)bottomPullToRefreshTriggered:(MNMBottomPullToRefreshManager *)manager
  
   //method to get more data 
  // [self CallWebServiceToLoadMorePAYMENTS];

  

重载tableview调用后

[pullToRefreshManager_ tableViewReloadFinished];

【讨论】:

【参考方案4】:

我刚刚推出了自己的“上拉刷新”Cocoapod: https://cocoapods.org/pods/LottiesBottom 它基于airbnb的Lottie。你可以插入任何你想要的 Lottie 动画。

【讨论】:

【参考方案5】:

我已经制作了这个 Swift 库来添加拉动刷新到UITableview 的底部。

https://github.com/marwendoukh/PullUpToRefresh-iOS

希望对你有所帮助。

【讨论】:

以上是关于如何在表格视图底部显示上拉刷新控件?的主要内容,如果未能解决你的问题,请参考以下文章

Qt qml中listview 列表视图控件(下拉刷新上拉分页滚动轴)

在 tableView 上拉刷新

用于“上拉”刷新的 UIRefreshControl?

使用MJRefresh遇到的一个问题,上拉刷新后tableview瞬间滑到最底部

Jquery 判断滚动条到达顶部或底部 (可用于上拉下拉加载刷新)

Android之 RecyclerView,CardView 详解和相对应的上拉刷新下拉加载