Page count of UICollectionView with paging in iOS

后端 未结 2 1677
野性不改
野性不改 2020-12-16 20:47

Consider a UICollectionView with flow layout and paging enabled (by setting pagingEnabled to YES).

What would be the simplest

相关标签:
2条回答
  • 2020-12-16 21:04

    The right answer should be:

    If the UICollectionView scrolls horizontally:

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

    If it scrolls vertically:

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

    follow to wiki:

    In mathematics and computer science, the floor and ceiling functions map a real number to the largest previous or the smallest following integer, respectively. More precisely, floor(x) is the largest integer not greater than x and ceiling(x) is the smallest integer not less than x.

    Here is my result to check:

    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
    
    0 讨论(0)
  • 2020-12-16 21:06

    If the UICollectionView scrolls horizontally, you divide its contentSize's width to its frame's width:

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

    If it scrolls vertically, you divide its contentSize's height to its frame's height:

    int pages = floor(self.collectionView.contentSize.height /    
                      self.collectionView.frame.size.height) + 1;
    
    0 讨论(0)
提交回复
热议问题