如何检查UICollectionView是否有可以显示的下一页?

时间:2016-02-04 20:34:20

标签: ios cocoa-touch uicollectionview

UICollectionView pagingEnabled。如何滚动,如何检查集合视图是否有下一页可以显示?我想在任何手势之前了解这一点。

2 个答案:

答案 0 :(得分:1)

我认为这会对你有所帮助。

在集合视图中进行水平滚动

int totalPages = floor(self.collectionView.contentSize.width /    
                  self.collectionView.frame.size.width) + 1;
int currentPage = self.collectionView.contentOffset.x / self.collectionView.frame.size.width;

如果你的收藏视图是垂直的,那么将其contentSize的高度除以其框架的高度:

int totalPages = floor(self.collectionView.contentSize.height /    
                  self.collectionView.frame.size.height) + 1;
int currentPage = self.collectionView.contentOffset.y / self.collectionView.frame.size.height;   

答案 1 :(得分:0)

您可以使用UIScrollViewDelegate&#39 -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView方法来理解它。由于UICollectionView构建于UIScrollView,因此只需添加此方法,当collectionView位于最后一页时,用户开始拖动时会触发此方法:

-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    if (scrollView.contentOffset.x == (scrollView.contentSize.width - scrollView.bounds.size.width)) {
        NSLog(@"this is the end");
    }
}

修改 我假设水平的情况,垂直:

-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    if (scrollView.contentOffset.y == (scrollView.contentSize.height - scrollView.bounds.size.height)) {
        NSLog(@"this is the end");
    }
}