Me gustaría tener un desplazamiento horizontal UIScrollView con paginación activada. Las páginas de este scrollview tienen anchos diferentes, por lo que el desplazamiento de la distancia varía de una página a otra.
El objetivo es hacer un selector para diferentes puntos en el tiempo, por ejemplo:
| Now | Yesterday evening | Last Week | Last Month |
^ ^ ^ ^ <- stopps here
Aquí | Now |
tiene un ancho menor que | Yesterday evening |
. Cuando la paginación a través de estos valores, el scrollview debe detenerse en el centro de la función de valor.
Es posible?
- Véase mi respuesta a esta pregunta: stackoverflow.com/a/10993426/60488
es sin duda posible, pero no de forma automática…
supongo que debe implementar el UIScrollViewDelegate método de protocolo:
es el método que se llama cuando el usuario deje de mover el dedo en el scrollView,
usted puede comprobar dentro de las coordenadas de su contenido:
y, a continuación, comprobar que uno de su página.x ( registrar en una matriz en el momento de crearlos, o comprobar el origen de todos su punto de vista agregado a la scrollView) está más cerca de él, a continuación, vaya a la compensación de su página (con animación) llamando:
UIScrollView.pagingEnabled
se ha establecido paraNO
– yo también tuve que implementar el UIScrollViewDelegate método de protocolo:- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
- scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
método