2014-01-28 18 views
5
konnte nicht abgerufen werden

Ich paginiert eine collection view in horizontaler Richtung mit dem folgenden Code.Aktuelle Seite

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.collectionView.pagingEnabled = YES; 
    self.collectionView.directionalLockEnabled = YES; 
    self.collectionView.bounces = NO; 
    self.collectionView.showsHorizontalScrollIndicator = NO; 
    self.collectionView.delegate = self; 

    [self setup]; 

    self.pageControl.currentPage = 0; 

    self.pageControl.numberOfPages = floor(self.collectionView.contentSize.width/ self.collectionView.frame.size.width) + 1; 
} 

ich pageControl bin mit dem, wie viele Seiten, um anzuzeigen, ich habe und die aktuelle Seite.

Ich habe die Methode ähnlich wie die folgenden Links verwendet, um die aktuelle Seite zu bestimmen.

iOS6 UICollectionView and UIPageControl - How to get visible cell?

UICollectionView: current index path for page control

wie folgend.

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { 
    NSInteger currentPage = self.collectionView.contentOffset.x/self.collectionView.frame.size.width; 
    self.pageControl.currentPage = currentPage; 
} 

Es funktioniert jedoch nicht. Wenn ich die collection view auf die nächste Seite wische, zeigt die pageControl immer noch auf die erste Seite. Es ändert seinen Wert nicht.

Ich druckte den self.collectionView.contentOffset.x Wert, es immer innerhalb des Rahmens (das ist die erste Seite, auch ich habe auf die nächste Seite gewischt), es geht nie auf die nächste Seite.

Habe ich etwas falsch gemacht?

Antwort

5

Berücksichtigen Sie den Abstand zwischen den Zellen?

Versuchen Sie folgendes:

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { 
    float currentPage = self.collectionView.contentOffset.x/self.collectionView.frame.size.width; 
    self.pageControl.currentPage = ceil(currentPage); 

    NSLog(@"Values: %f %f %f", self.collectionView.contentOffset.x, self.collectionView.frame.size.width, ceil(currentIndex)); 
} 
Verwandte Themen