2011-11-23 10 views

Respuesta

7

Sí existe:

yourScrollView.pagingEnabled = YES; 

Compruebe el UIScrollView para más información.

Si el valor de esta propiedad es SÍ, la vista de desplazamiento se detiene en los múltiplos de los límites de la vista de desplazamiento cuando el usuario se desplaza. El valor predeterminado es no.

que sugieren que puede ser necesario cambiar la estructura de su vista a algo como esto:

+--------+ 
|  | <- UIView to hold your structure 
+--------+ 

    +--+ 
    | | <- UIScrollView, clipsToBounds = NO, width = column.width 
    +--+ 

+--+--+--+ 
| | | | <- UIView columns 
+--+--+--+ 

centro de la UIScrollView horizontal y asegurarse de que el UIView que contiene el UIScrollView tiene una anchura que es un múltiplo de el ancho de UIScrollView

+0

También creo que iOS SDK 5 agregó soporte para "sugerir" ubicaciones en una vista de desplazamiento? – Moszi

+0

No puedo ver eso en los documentos: S ¿Tiene alguna referencia que pueda seguir para eso? –

+0

Si no me equivoco, no solo mostraría una columna a la vez, sino que también mostraría varias columnas, como en mi ejemplo. También para dejar en claro que no me molesta, se desplaza como siempre, siempre y cuando se detenga en toda una columna. – Camsoft

1

Aunque creo que la paginación es probablemente la respuesta correcta, no es lo que se preguntaba, que era un desplazamiento espasmódico (columnas "todo el tiempo"). Creo que podría proporcionar un delegado -scrollViewDidScroll: y ajustar contentOffset a la columna más cercana.

1

Si se dirige a iOS 5.0, puede usar el nuevo método UIScrollViewDelegate scrollViewWillEndDragging: withVelocity: targetContentOffset. Esto le permite establecer el punto donde la animación de desplazamiento finalizará una vez que el usuario haya dejado de arrastrar la vista de desplazamiento.

+0

Eso suena genial, lamentablemente necesito que esto funcione en iOS4 y versiones posteriores. – Camsoft

Cuestiones relacionadas