Tengo una UIScrollView
que tiene varias vistas. Cuando un usuario mueve su dedo, la vista se desplaza hacia la derecha o hacia la izquierda según la dirección del movimiento del dedo. Básicamente, mi código funciona de manera similar a la aplicación de fotos para iPhone. Ahora, ¿hay alguna manera de que pueda hacer lo mismo mediante programación para que termine con una presentación de diapositivas que se ejecuta sola con un clic de un botón y una pausa configurable entre cada desplazamiento?
¿Cómo se hacen realmente las presentaciones de diapositivas UIScrollView
?
fuente
(myScrollView.contentOffset.x +320)
.(myScrollView.contentOffset.x +320)
mentiras la clave!contentOffset:
también compensará el contentSize, lo que puede no ser deseable. Para desplazarse solo, es posible que desee usarscrollRectToVisible:
.CGPointMake
en Swift. Simplemente construya una estructura Swift directamente:CGPoint(x: 0, y: 44)
Si desea controlar la duración y el estilo de la animación, puede hacer lo siguiente:
¡Ajuste la duración (
2.0f
) y las opciones (UIViewAnimationOptionCurveLinear
) al gusto!fuente
Otra forma es
fuente
CGPoint
debería serCGPointMake
.Con animación en Swift
fuente
¡Estoy sorprendido de que este tema tenga 9 años y la respuesta directa real no esté aquí!
Lo que estás buscando es
scrollRectToVisible(_:animated:)
.Ejemplo:
Lo que hace es exactamente lo que necesitas, y es mucho mejor que hacky
contentOffset
De: https://developer.apple.com/documentation/uikit/uiscrollview/1619439-scrollrecttovisible
fuente
fuente
Swift 3
fuente
fuente
fuente