J'ai un UIScrollView
qui a plusieurs vues. Lorsqu'un utilisateur effleure son doigt, la vue défile vers la droite ou la gauche selon la direction de l'effleurement du doigt. Fondamentalement, mon code fonctionne de manière similaire à l'application photo iPhone. Maintenant, y a-t-il un moyen pour que je puisse faire la même chose par programmation pour que je me retrouve avec un diaporama qui s'exécute seul avec un clic sur un bouton et une pause configurable entre chaque défilement?
Comment faites-vous vraiment des diaporamas UIScrollView
?
la source
(myScrollView.contentOffset.x +320)
.(myScrollView.contentOffset.x +320)
réside la clé!contentOffset:
compensera également le contentSize, ce qui peut ne pas être souhaitable. Pour faire défiler uniquement, vous pouvez utiliserscrollRectToVisible:
.CGPointMake
dans Swift. Créez simplement une structure Swift directement:CGPoint(x: 0, y: 44)
Si vous souhaitez contrôler la durée et le style de l'animation, vous pouvez faire:
Ajustez la durée (
2.0f
) et les options (UIViewAnimationOptionCurveLinear
) au goût!la source
Une autre façon est
la source
CGPoint
devrait l'êtreCGPointMake
.Avec animation dans Swift
la source
Je suis étonné que ce sujet ait 9 ans et que la réponse directe ne soit pas ici!
Ce que vous recherchez, c'est
scrollRectToVisible(_:animated:)
.Exemple:
Ce qu'il fait est exactement ce dont vous avez besoin, et c'est bien meilleur que le piratage
contentOffset
De: https://developer.apple.com/documentation/uikit/uiscrollview/1619439-scrollrecttovisible
la source
la source
Swift 3
la source
la source
la source