Iphone iOS中分页的UICollectionView的页数
考虑启用流布局和分页的Iphone iOS中分页的UICollectionView的页数,iphone,ios,ios6,uipagecontrol,uicollectionview,Iphone,Ios,Ios6,Uipagecontrol,Uicollectionview,考虑启用流布局和分页的UICollectionView(通过将paginabled设置为YES) 获取总页数的最简单方法是什么 哪里是更新总页数的最合适位置(考虑到如果添加/删除项目、集合视图的大小更改或布局更改,页面总数可能会更改)?如果UICollectionView水平滚动,您可以将其contentSize的宽度除以框架的宽度: int pages = floor(self.collectionView.contentSize.width / s
UICollectionView
(通过将paginabled
设置为YES
)
获取总页数的最简单方法是什么
哪里是更新总页数的最合适位置(考虑到如果添加/删除项目、集合视图的大小更改或布局更改,页面总数可能会更改)?如果
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水平滚动: 如果垂直滚动: 跟进: 在数学和计算机科学中,地板和天花板起作用 将实数映射到最大的前一个或最小的后一个 分别为整数。更准确地说,地板(x)是 不大于x的最大整数和上限(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
这假设没有间距,所有项目都具有相同的宽度或高度。难道你不能使用
ceil
而不是获得floor
并添加1吗?使用ceil
不是更准确,因为如果content.width
和frame.size.width
相等,你最终得到的结果是2
,技术上只有一页的时候?
int pages = ceil(self.collectionView.contentSize.height /
self.collectionView.frame.size.height);
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