8

如何将 UIRefreshControl 添加到 UIColloectionView 的底部?这意味着在向上滚动(查看旧数据或其他内容)时它是如何工作的?

4

3 回答 3

12

您不能UIRefreshControl这样做,但如果您可以使用更简单的解决方案,您可以设置您的集合视图,以便在滚动到底部时自动加载更多数据。(顺便说一句,这是一个更常见的用户界面......上拉刷新并不常见,但当您触底时自动检索更多数据。)

最原始的表现是响应该UIScrollViewDelegate方法并确定您是否已滚动到集合视图的底部(它本身就是 的子类UIScrollView):

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if ((scrollView.contentOffset.y + scrollView.frame.size.height) >= scrollView.contentSize.height)
    {
        if (!self.isLoadingMoreData)
        {
            self.loadingMoreData = YES;

            // proceed with the loading of more data
        }
    }
}

更好的是,如果您要加载更多数据,请在底部显示一个单元格,上面写着“请稍候,加载更多数据”,可能带有UIActivityIndicatorView. 例如,如果您要加载更多数据,请在此单元格的末尾添加一个部分。如果你正确地格式化这个额外的单元格(例如,一个贯穿整个集合视图的单元格),它肯定可以呈现你正在寻找的效果。

于 2013-02-17T08:22:39.573 回答
4

这是实现bottomRefreshControl属性的 UIScrollView 类(UICollectionView 类的父级)的 CCBottomRefreshControl类别。它与 iOS 6 和 7 原生刷新控件兼容。

于 2014-01-20T20:44:10.117 回答
-3

你不能。您根本无法真正自定义UIRefreshControl

于 2013-02-17T02:47:20.097 回答