ios - UITableView Mantenga pulsado+arrastrar y soltar
drag-and-drop order (4)
El artículo Reordenando una UITableViewCell desde cualquier punto de contacto discute este escenario exacto.
Esencialmente haces lo siguiente:
- Encuentre
UITableViewCellReorderControl
(una clase privada). - Extiéndalo para que abarque toda la celda.
- Esconderlo.
- El usuario ahora podrá arrastrar la celda desde cualquier lugar.
Otra solución, Cookbook: Mover celdas de vista de tabla con un gesto de presión prolongado , logra el mismo efecto al hacer lo siguiente:
- Agregue un reconocedor de gestos de pulsación larga en la vista de tabla.
- Cree una instantánea de la celda cuando se arrastra la celda.
- A medida que se arrastra la celda, mueva la instantánea y llame a
-[UITableView moveRowAtIndexPath:toIndexPath:]
. - Cuando finalice el gesto, oculte la instantánea de la celda.
Quería saber cómo hacer lo siguiente:
Tengo un UItableView, que ingresa al modo de edición cuando el usuario toca y mantiene una de las filas
Una vez que ingresa al modo de edición, necesito que la celda permanezca seleccionada y que aparezca el efecto debajo del dedo del usuario.
El usuario debería poder arrastrar la celda reventada y volver a colocarla en otra fila, sin levantar el dedo.
Lo que ya tengo en su lugar:
Tengo un reconocedor de gestos de toque largo y configuro la tabla para editarla en el selector de reconocedor de gestos de toque largo.
Sin embargo, para arrastrar la celda, actualmente necesito levantar el dedo y volver a presionar para arrastrar la celda, que no es lo que quiero.
Cualquier ayuda sería apreciada.
El mejor fragmento de código está aquí:
ver https://github.com/bvogelzang/BVReorderTableView .
(Probado en Xcode 6.xy iOS 8)
Para referencia futura ... tuve el mismo problema, encontré otra pregunta (Swift - Arrastrar y soltar TableViewCell con Long Gesture Recognizer) al respecto y alguien sugirió este tutorial: https://www.freshconsulting.com/create-drag- and-drop-uitableview-swift / funcionó perfectamente para mí
En el momento actual hay una solución alternativa (no lo suficientemente fácil): https://.com/a/7501076/326017 .
Y he encontrado un fragmento de código aquí: https://github.com/FlorianMielke/FMMoveTableView
"FMMoveTable es una subclase UITableView que proporciona filas en movimiento simplemente tocando y manteniendo presionada una fila apropiada sin cambiar la tabla a su modo de edición" - a partir de la descripción