J'ai un UIScrollView
dans une vue UIViewController
qui défile horizontalement. Comment puis-je détecter si le parchemin est à l'extrémité gauche ou droite ou quelque part au milieu?Détection de défilement UIScrollView
Répondre
GameBit est correct, mais d'élaborer -
Le UIScrollView a un membre contentOffset variable décrivant la quantité de pixels de l'origine du scrollview a fait défiler. Une valeur positive est un défilement vers la droite, négatif est un défilement vers la gauche.
Votre UIScrollView est-il en mode paginé? si c'est le cas, cela vous aidera:
CGFloat pageWidth = scrollView.frame.size.width;
int page = floor((scrollView.contentOffset.x - pageWidth/2)/pageWidth) + 1;
Vous devrez probablement regarder dans une méthode scrollViewDelegate comme ci-dessous.
ObjC
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
NSLog(@"Point: %@", NSStringFromCGPoint(scrollView.contentOffset));
}
Swift
override func scrollViewDidScroll(scrollView: UIScrollView) {
println(scrollView.contentOffset)
}
Jetez un oeil à la apple docs.
Assurez-vous également de définir votre délégué scrollview your_scroll_view.delegate = self;
et votre contrôleur de vue doit être conforme à <UIScrollViewDelegate>
Cela fonctionne pour moi dans UIScrollView horizontal
- Conformes à
UIScrollViewDelegate
Dans votre ViewController -
yourScrollView.delegate = self
func scrollViewDidEndDecelerating(scrollView: UIScrollView) { var currentPage = yourScrollView.contentOffset.x/yourScrollView.bounds.size.width; }
Ne pas utiliser scrollViewDidScroll
que vous devez attendre le défilement se termine
- 1. détection tactile d'affichage de défilement
- 2. Couleur de défilement UIScrollView?
- 3. Synchronisation du défilement UIScrollView
- 4. iPhone UIScrollView, ralentir le défilement
- 5. Défilement par programme d'un UIScrollView
- 6. UIScrollView: défilement ne fonctionne pas
- 7. où placer l'événement de détection (redimensionnement/défilement) appel de détection
- 8. Comment limiter la largeur de défilement UIScrollView?
- 9. Comment créer un UIScrollView de défilement infini?
- 10. Détection d'un appui long dans UIScrollView
- 11. Détection de défilement sur un contrôle WebBrowser
- 12. UIScrollView - détecter seconde touche pendant le défilement
- 13. UIScrollView redessiner le contenu lors du défilement?
- 14. Le défilement UIScrollView n'est pas correct
- 15. UIScrollView dans UIScrollView
- 16. Détection des taps dans uiimageview à l'intérieur de uiscrollview
- 17. Détection de touches pour les couches dans un UIScrollView
- 18. Définition de la quantité de défilement avec UIScrollView et PageControl
- 19. UIScrollView sur la méthode de mise à jour par défilement
- 20. Comment puis-je définir la position de défilement d'un UIScrollView?
- 21. iPhone SDK: Gardez une image de défilement avec un UIScrollView
- 22. UITextView à l'intérieur du problème de défilement UIScrollView
- 23. iPhone UIScrollView - Comment animer le défilement avec un contenu stable?
- 24. iPhone + UIScrollView
- 25. Délégué de UIScrollView/Subviews
- 26. Déplacement UIScrollView
- 27. autoscrolling pour UIScrollView
- 28. Dos à dos UIScrollView zoom
- 29. Suppression des vues de UIScrollView
- 30. UITableView/UIScrollView scrollToItemAtIndex