在iOS中使用分页的UICollectionView的页数

时间:2012-11-17 18:24:55

标签: iphone ios ios6 uipagecontrol uicollectionview

考虑启用流量布局和分页的UICollectionView(通过将pagingEnabled设置为YES)。

获取总页数的最简单方法是什么?

哪里是最适合更新页面总数的地方(如果添加/删除项目,集合视图的大小更改或布局更改,可能会更改?)

2 个答案:

答案 0 :(得分:6)

如果UICollectionView水平滚动,则将contentSize的宽度除以其框架的宽度:

int pages = floor(self.collectionView.contentSize.width /    
                  self.collectionView.frame.size.width) + 1;

如果它垂直滚动,则将其contentSize的高度除以其框架的高度:

int pages = floor(self.collectionView.contentSize.height /    
                  self.collectionView.frame.size.height) + 1;

答案 1 :(得分:6)

正确的答案应该是:

  

如果UICollectionView水平滚动:

int pages = ceil(self.collectionView.contentSize.width /    
                   self.collectionView.frame.size.width);
  

如果它垂直滚动:

 int pages = ceil(self.collectionView.contentSize.height /    
                   self.collectionView.frame.size.height);

关注wiki

  

在数学和计算机科学中,地板和天花板功能   将实数映射到最大的前一个或最小的一个   整数,分别。更准确地说,floor(x)是   不大于x和ceiling(x)的最大整数   是不小于x的最小整数。

这是我要检查的结果:

ceil(2.0/5.0) = 1.000000
ceil(5.0/5.0) = 1.000000
ceil(6.0/5.0) = 2.000000
ceil(10.0/5.0) = 2.000000
ceil(11.0/5.0) = 3.000000