programming objective framework development apple app iphone cocoa-touch ios uiscrollview

iphone - objective - swift ios documentation



UIScrollView y setContentOffset (2)

Como se menciona en la documentación .

Desplazamiento a una compensación específica

Desplazarse a una ubicación específica superior izquierda (la propiedad contentOffset ) puede lograrse de dos maneras. El setContentOffset:animated: desplaza el contenido al desplazamiento de contenido especificado. Si el parámetro animado es YES , el desplazamiento se animará desde la posición actual a la posición especificada a una velocidad constante. Si el parámetro animado es NO , el desplazamiento es inmediato y no se produce animación. En ambos casos, los delegados scrollViewDidScroll: mensajes. Si la animación está deshabilitada, o si establece el desplazamiento de contenido estableciendo la propiedad contentOffset directamente, el delegado recibe un solo mensaje scrollViewDidScroll: Si la animación está habilitada, el delegado recibe una serie de scrollViewDidScroll: mensajes a medida que la animación está en progreso. Cuando se completa la animación, el delegado recibe un mensaje scrollViewDidEndScrollingAnimation: message.

es decir, en palabras simples, si desea desplazar UIScrollView programáticamente pasando valores de posición de desplazamiento, es decir, la cantidad de desplazamiento, puede utilizar este método.

Este método también llama a delegate scrollViewDidScroll: es decir, delegue el método de la clase UIScrollView través del cual puede mantener la cantidad de desplazamiento de UIScrollView .

Mi pregunta es sobre este método:
(void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

He leído la documentación, pero no entiendo para qué es este método.

Gracias por tus respuestas.


UIScrollView le permite tener contenido que es más grande que lo que puede ver en la pantalla. En la imagen de abajo puedes ver un gran rectángulo rojo con un rectángulo verde dentro.

La propiedad contentArea de UIScrollView define el tamaño lógico de su vista (el rectángulo rojo). El área visible de la vista de desplazamiento está representada por el rectángulo verde. ContentOffset es la esquina superior izquierda del área visible. Cambiando contentOffset, el área visible se moverá.

(void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

El método anterior moverá contentOffset (la esquina superior izquierda del rectángulo verde) a una ubicación específica, moviendo así el área visible (el rectángulo verde).

Espero que esto ayude.