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.