2011-01-17 15 views
14

Duplicar posible:
Horizontal UITableViewUITableView

necesito para hacer una UITableView horizontalmente desplazable. Tengo una tabla personalizada con un ancho de 600 y porque es demasiado grande. Esa tabla necesita ser desplazable. ¿Cómo hago esto?

Respuesta

1

No creo que pueda hacer un desplazamiento UITableView horizontalmente. Mi sugerencia sería usar un UIScrollView. UIScrollView es una súper clase de UITableView y le ofrece el comportamiento de desplazamiento que espera de un UITableView. Lo que no obtiene es la administración de la celda de la mesa que hace que UITableView sea tan conveniente. Por lo tanto, debes administrar tu propio contenido. Es un poco más de trabajo, pero obtienes más control.

+1

Puede agregar un 'UITableView' a un' UIScrollView' y hacer que se desplace horizontalmente. Vea mi respuesta a esta pregunta similar: http://stackoverflow.com/a/10649401/482557. –

+0

Mejor ir con UICollectionView con una sola fila –

+0

Vinu tiene razón. Esta respuesta es vista previa a la recopilación. – fsaint

0

No creo que el desplazamiento horizontal sea una buena idea y probablemente viole el HIG de Apple.

La vista de tabla no necesariamente debe proporcionar toda la información, sino algo de la información más importante, para ver la información que requiere mucho espacio. Le sugiero que haga una vista detallada.

1

Lo que quiere hacer es usar un UIScrollView y llenarlo de izquierda a derecha con vistas de estilo "celda".

4

Para cualquier persona que se encuentre con esta pregunta, contrariamente a algunos de los otros consejos provistos, el desplazamiento horizontal de una UITableView es posible y no es una violación del HIG. Si lo fuera, ¿por qué Apple proporcionaría la capacidad de desplazarse horizontalmente?

La manera de hacer que esto funcione correctamente es configurar solo ContentSize, no FrameSize. Soy un programador de MonoTouch, por lo que no estoy seguro de cuál es el equivalente exacto en objetivo-c, pero la forma en que abordamos esto es crear una clase personalizada heredada de UITableView y anular el método LayoutSubviews. En este método, calculamos y configuramos el ContentSize actual.

Este enfoque detecta todos los casos potenciales que hemos encontrado en los que se pudo reiniciar ContentSize, incluyendo la rotación del dispositivo, el desplazamiento y el acercamiento.

5
CGRect frame = tblView.frame; 
tblView.transform = CGAffineTransformRotate(stressTblView.transform, M_PI/2); 
tblView.frame = frame;