2009-06-01 10 views
6

¿Cómo puedo implementar tweetie como menú de deslizamiento?Tweetie como menú de deslizamiento

He terminado de desarrollar un tableviewcontroller con una célula personalizada. La customcell implementa touchesbegan y touchesMoved. También informa acerca de los gestos de deslizamiento a través de un selector para el control de tabla padre.

Ahora, ¿cómo debo ocultar la celda "Desplazada" y reemplazarla con una "vista del menú de deslizamiento" y cómo debo obtener las acciones de los botones presentes en la vista de deslizamiento?

+0

Tome un vistazo a https://github.com/thermogl/TISwipeableTableView Se necesita un poco de pulido pero funciona y puede ser un comienzo. – myell0w

+0

Ten en cuenta que TISwipeableTableView confunde el UITableView "normal" - eventos ... simulándolo en la clase. Así que obtienes todo tipo de comportamiento raro no predeterminado ... Trataré de implementarlo, pero eso fue un factor decisivo. (No fue demasiado difícil reescribirlo) – steipete

Respuesta

12

Cada celda de vista de tabla tiene una vista de contenido que abarca toda el área de la celda. Agregue su vista de menú de deslizamiento como una vista de contenedor único con un fondo opaco a la vista de contenido para que esté encima de todo lo demás. Colóquelo de modo que quede nivelado a la izquierda (x = 0), establezca el ancho en 0 y configúrelo como oculto. Ese contenedor individual puede incluir cualquier otra subvista (botones, etc.) y puede configurar la vista de la celda como el objetivo de los eventos del botón (luego subirlo a la vista principal de la tabla junto con la información del índice de la celda).

Cuando llegue el momento de mostrarlo, configúrelo como no oculto y luego use la animación UIView para hacer que el ancho del contenedor pase de 0 al ancho de la tabla completa. Establezca la duración bastante baja (es decir, 0,2 segundos), por lo que es muy simple. Cuando ejecuta la animación, el menú de deslizamiento aparece sobre todo lo demás en la vista de contenido de la celda. Para hacerlo desaparecer, simplemente inviértalo (ajuste el ancho a 0 en un bloque UIView BeginAnimation). También es posible que desee establecer un controlador de finalización de animación al final y hacer algunas tareas domésticas allí (establecer la vista del contenedor como oculta, liberar memoria, etc.).

+0

Gracias ... Havent 'pero intenté ... pero parece muy prometedor ... – Mugunth

Cuestiones relacionadas