iphone - para - ios 12
Recuento de pĆ”ginas de UICollectionView con paginaciĆ³n en iOS (2)
Considere un UICollectionView
con diseño de flujo y paginación habilitada (configurando pagingEnabled
en YES
).
¿Cuál sería la forma más simple de obtener el número total de páginas?
¿Y dónde sería el lugar más adecuado para actualizar el número total de páginas (dado que podría cambiar si se agregan / eliminan elementos, cambia el tamaño de la vista de colección o cambia el diseño)?
La respuesta correcta debería ser:
Si UICollectionView se desplaza horizontalmente:
int pages = ceil(self.collectionView.contentSize.width /
self.collectionView.frame.size.width);
Si se desplaza verticalmente:
int pages = ceil(self.collectionView.contentSize.height /
self.collectionView.frame.size.height);
seguir a wiki :
En matemáticas y ciencias de la computación, las funciones de piso y techo mapean un número real al entero siguiente más grande o al más pequeño siguiente, respectivamente. Más precisamente, el piso (x) es el entero más grande no mayor que xy el techo (x) es el entero más pequeño no menos de x.
Aquí está mi resultado para verificar:
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
Si el UICollectionView
desplaza horizontalmente, se divide el ancho de su contentSize
el ancho del marco:
int pages = floor(self.collectionView.contentSize.width /
self.collectionView.frame.size.width) + 1;
Si se desplaza verticalmente, divide su altura de contentSize
la altura de su marco:
int pages = floor(self.collectionView.contentSize.height /
self.collectionView.frame.size.height) + 1;