2010-06-20 4 views
1

Dans mon application iPhone, je cherche une solution où j'ai des images qui défilent horizontalement, automatiquement et infiniment autour et autour. Donc, si j'ai quatre images: la première image 1 est affichée, puis elle défile automatiquement, l'image 2 s'affiche, puis elle défile, ... l'image 4 est affichée, puis elle défile, puis l'image 1 s'affiche à nouveau et autour de ça va ... (image1-> image2-> image3-> image4-> image1 ...)iPhone: faire défiler les images à l'infini

Je cherchais une solution où j'utilise un UIScrollView, mais je ne suis pas sûr de savoir comment l'implémenter il. Y at-il un tutoriel ou quoi que ce soit sur la façon de faire cela? Comment le résoudriez-vous? Merci!

Répondre

2

Vous pouvez implémenter la méthode - (void)scrollViewDidScroll:(UIScrollView *)scrollView de ScrollViewDelegate et utiliser la setContentOffset de la vue déroulante une fois que le décalage de contenu est supérieur à un maximum ou inférieur à un minimum.

Avant cela, vous devrez dupliquer le contenu de la vue déroulante au moins 3 fois, comme ceci:.

Une fois que le rouleau de décalage atteint le contenu dupliquée vous devrez définir le décalage du contenu original décalé ...

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    if (scrollView == self.infiniteScrollView) { 
     CGFloat xOffset = scrollView.contentOffset.x; 
     CGFloat yOffset = scrollView.contentOffset.y; 

     if (xOffset > maxOffset) { 
      xOffset = origOffset + (xOffset - maxOffset); 
     } 
     else if (xOffset < minOffset) { 
      xOffset = origOffset + (xOffset - minOffset); 
     } 

     if (xOffset != scrollView.contentOffset.x) { 
      [scrollView setContentOffset:CGPointMake(xOffset ,yOffset)]; 
     } 
    } 
} 
Questions connexes