在 UITableView 下方添加 UIRefreshControl [重复]

Posted

技术标签:

【中文标题】在 UITableView 下方添加 UIRefreshControl [重复]【英文标题】:Add a UIRefreshControl below a UITableView [duplicate] 【发布时间】:2013-12-30 10:36:18 【问题描述】:

有没有办法在 UITableView 下添加 UIRefreshControl?我创建了一个preview 我想要实现的目标。

【问题讨论】:

这里已经有一篇不错的帖子***.com/questions/14942460/… 【参考方案1】:

这些不会提供 UIRefresh 控件,但您可以将它们添加到屏幕底部

在你的标题下面声明

  UIActivityIndicatorView                             *spinner;

在您的实现中在 ViewDidLoad 中初始化相同的内容

spinner = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray] autorelease];
    [spinner stopAnimating];
    spinner.hidesWhenStopped = NO;
    spinner.frame = CGRectMake(0, 0, 320, 44);
    self.tableviewName.tableFooterView = spinner;

添加这些会在tableview Scrolled时调用

- (void)scrollViewDidEndDragging:(UIScrollView *)aScrollView
                  willDecelerate:(BOOL)decelerate

    CGPoint offset = aScrollView.contentOffset;
    CGRect bounds = aScrollView.bounds;
    CGSize size = aScrollView.contentSize;
    UIEdgeInsets inset = aScrollView.contentInset;
    float y = offset.y + bounds.size.height - inset.bottom;
    float h = size.height;

    float reload_distance = 50;
    if(y > h + reload_distance) 
        NSLog(@"load more data");
        [spinner startAnimating];
    

希望对你有所帮助!

【讨论】:

很好的解决方案!我正在使用它,稍作修改:[spinner startAnimating]; spinner.hidesWhenStopped = YES;我检测到我是否在表格视图的真正末端,并且有 [spinner stopAnimating]; 解决方案很好,但是在隐藏活动指示器表后我有一个查询没有向下滚动。如果您对此也有任何解决方案,请告诉我。

以上是关于在 UITableView 下方添加 UIRefreshControl [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 UITableView 下方的 UIPageView 上检测滑动事件

在 UITableView 下方放置 iAd 横幅

向静态 UITableView 添加行:获取 NSRangeException

如何在 UITableView 部分之间添加空间?

如何在 UISplitViewController 的导航栏下方添加搜索栏?

如何将 UITableView 的高度调整为内容大小的高度?