[2023r2] iOS: Leading Actions en iOSMobileTable

A partir de Xojo 2023r2 podrás añadir Leading Actions a las filas añadidas a cualquiera de las instancias iOSMobileTable en tus apps iOS, además de las acciones habituales que venías utilizando en las anteriores versiones de Xojo. De esta forma, las filas de tus tablas podrán ofrecer más opciones y flexibilidad en el diseño de tus interfaces de usuario.

Como probablemente ya sepas en el desarrollo de apps para iOS con Xojo, las acciones “normales” asociadas a las filas de cualquier instancia basada en iOSMobileTable son aquellas que se muestran cuando el usuario arrastra la fila de derecha a izquierda (en el caso de que las implementes, claro). Esto es algo que puedes hacer, por ejemplo, implementando el siguiente fragmento de código en el manejador de evento ApplyActionsForRow de una instancia iOSMobileTable; en nuestro ejemplo con el nombre TeamTable:

Var actions(0) As iOSMobileTableRowAction
// Create the Delete button
actions(0) = New iOSMobileTableRowAction(iOSMobileTableRowAction.Styles.Destructive, "Delete", "Delete" + row.ToString)
Return actions


A partir de 2023r2 en adelante también podrás implementar el manejador de evento ApplyLeadingActionsForRow en las instancias basadas en iOSMobileTable. Al hacerlo, podrás añadir nuevas acciones a las filas de tus tablas que se mostrarán cuando el usuario arrastre la fila de izquierda a derecha. Por supuesto, y tal y como podías hacer con las acciones disponibles hasta ahora, es posible añadir tantas acciones como sea preciso para el propósito de tu aplicación iOS.

Por ejemplo, el siguiente fragmento de código implementado en el manejador de evento ApplyLeadingActionsForRow añadirá un total de tres de estas nuevas acciones en cada una de las filas añadidas a nuestra tabla de ejemplo TeamTable:

Var actions() As iOSMobileTableRowAction

Var act1, act2, act3 As iOSMobileTableRowAction
act1 = New iOSMobileTableRowAction(iOSMobileTableRowAction.Styles.Normal, "Normal", "Normal " + row.ToString)
act2 = New iOSMobileTableRowAction(iOSMobileTableRowAction.Styles.Normal, "Potato", "Potato " + row.ToString)
act3 = New iOSMobileTableRowAction(iOSMobileTableRowAction.Styles.Normal, "Tomato", "Tomato " + row.ToString)

act1.BackgroundColor = Color.RGB(System.Random.InRange(0,255), System.Random.InRange(0,255), System.Random.InRange(0,255))
act2.BackgroundColor = Color.RGB(System.Random.InRange(0,255), System.Random.InRange(0,255), System.Random.InRange(0,255))
act3.BackgroundColor = Color.RGB(System.Random.InRange(0,255), System.Random.InRange(0,255), System.Random.InRange(0,255))

act1.Image = Xojo16

actions.add act1
actions.add act2
actions.add act3
Return actions

Por último, el manejador de evento RowActionSelect de la tabla se disparará cada vez que el usuario seleccione cualquier acción, ya sea las que venías utilizando hasta ahora o las nuevas. Así, podrás utilizar los parámetros Section, Row y ActionTag recibidos por el evento para ejecutar el código de tu aplicación iOS en respuesta a cada una de las acciones añadidas a la fila… tal y como venías haciendo en las versiones anteriores de Xojo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *