2012-02-14 3 views
0

J'ai un contrôle de page et un scrollview implémentés dans l'une de mes vues. En ce moment j'ai 2 pages et une taille de contenu de scrollview réglée à une largeur de 496 (chaque page étant 248). Tout fonctionne bien car il met à jour et défile correctement, cependant, je remarque que je peux continuer à défiler même s'il n'y a pas de page à gauche ou à droite de moi.Verrouillage du défilement du contrôle de page iOS

Y at-il un moyen de désactiver le défilement vers la gauche si je suis sur la première page ou de désactiver le défilement sur la droite si je suis sur la dernière page? S'il vous plaît voir mes extraits de code ci-dessous pour voir ce que je fais.

// Initialize the scroll view 
scrollView.pagingEnabled = YES; 
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * 2, scrollView.frame.size.height); 
scrollView.showsHorizontalScrollIndicator = NO; 
scrollView.showsVerticalScrollIndicator = NO; 
scrollView.scrollsToTop = NO; 
scrollView.delegate = self; 

// Functions called for the page control/scrollview 
- (void)loadScrollViewWithPage:(int)page window:(UIView *)pageView 
{ 
    if(page < 0 || page >= pageControl.numberOfPages) 
    { 
     return; 
    } 

    // Add our view 
    CGRect frame = scrollView.frame; 
    frame.origin.x = frame.size.width * page; 
    frame.origin.y = 0; 
    [pageView setFrame:frame]; 
    [scrollView addSubview:pageView]; 
} 

- (void)scrollViewDidScroll:(UIScrollView *)sender 
{ 
    // Update our page when we have more than 50% of the adjacent page available 
    CGFloat pageWidth = scrollView.frame.size.width; 
    int page = floor((scrollView.contentOffset.x - pageWidth/2)/pageWidth) + 1; 

    if(page < 0 || page >= pageControl.numberOfPages) 
    { 
     return; 
    } 

    pageControl.currentPage = page; 

    [pageControl setNeedsDisplay]; 
} 

Répondre

0

Je l'ai compris. Apparemment, il y avait une propriété 'rebonds' qui permet à l'utilisateur de continuer à défiler même après avoir dépassé les limites. L'éteindre verrouille la fenêtre en place.

Questions connexes