在iOS中使用分页的UICollectionView的页数
考虑启用stream布局和分页的pagingEnabled
(通过将pagingEnabled
设置为YES
)。
获得总页数的最简单方法是什么?
哪里可以find最合适的位置来更新页面总数(假设如果项目被添加/删除,收集视图的大小会发生变化或者布局发生变化,它可能会发生变化)?
如果UICollectionView
水平滚动, 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;
正确的答案应该是:
如果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 :
在math和计算机科学中,floor和ceiling函数分别将实数映射到最大的前一个或最小的后一个整数。 更确切地说,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