Xojo 2020 Release 2 incluye la API 2.0 para iOS con muchos, muchos cambios y nuevas características.
Para empezar, los proyectos iOS pueden utilizar ahora String
y Variant
en vez de Text
y Auto
para una mejor compatibilidad de código con otros proyectos Xojo. Junto a este cambio, también se incluye ahora un nuevo conjunto de componentes de UI en los que se hace uso de String y se siguen las convenciones de nombres definidas por la API 2.0.
Estos componentes UI comienzan todos con el prefijo Mobile
. Encontrarás muchos de los mismos componentes que ya venías utilizando anteriormente como MobileButton
, MobileTextField
, MobileTextArea
, etc., pero también encontrarás nuevos componentes como por ejemplo MobileMoviePlayer
y MobileMapViewer
.
MobileScreen
Un cambio importante es que el equivalente a iOSView es ahora MobileScreen
.
Y hablando de MobileScreen, ahora puedes mostrar MobileScreens modales utilizando el método ShowModal
:
Var s2 As New Screen2 s2.ShowModal
Puedes utilizar Show
en vez de PushTo
para una mayor claridad.
Var s2 As New Screen2 s2.Show
Y ahora también puedes controlar si se muestra la barra de navegación cuando se muestra una pantalla utilizando para ello la propiedad TabBarVisible
.
MobileApplication
MobileApplication
cuenta ahora con algunas novedades, incluyendo la capacidad de ajustar el Número en la Etiqueta de Icono:
App.IconBadgeNumber = 42
Tu app puede utilizar items de atajos (estos son los menús que se muestran cuando haces una pulsación larga sobre el icono de la app), utilizando para ello AddShortcutItem
y HandleShortcutItem
. También puedes configurar el menú directamente en el Editor de Capacidades (Capabilities Editor en Xojo).
Este código en HandleShortcutItem
procesa el atajo seleccionado y muestra la pantalla correspondiente:
Select Case shortcutType Case "Add" Var s1 As New Screen1 s1.ShortcutLabel.Text = "You selected Add New Item" App.CurrentLayout.Content = s1 Case "Favorites" Var favorites As New FavoritesScreen favorites.Show End Select Return True
Ahora puedes procesar esquemas URL en tu app. Define el esquema URL en el Editor de Capacidades (Capabilities Editor en Xojo).
Gestiona el esquema como este en el evento HandleURL:
Var s1 As New Screen1 Var urlText As String = url.Replace("xojotest://", " ") s1.URLLabel.Text = urlText App.CurrentLayout.Content = s1
Otros
Puedes usar la clase MobilePopupMessage
para mostrar un mensaje que desaparezca tras un breve periodo de tiempo:
Var msg As New MobilePopupMessage msg.Show("Your message has been sent.")
Notificaciones
Tras una larga espera, ahora se soportan las notificaciones temporizadas, de calendario, ubicación y remotas. Hay mucho por explorar en este sentido, de modo que es recomendable que leas sobre el tema en la Guía de Usuario de Notificaciones para obtener más información.
Consulta también los proyectos de ejemplo sobre Notificaciones en: Examples/iOS/Notifications.
Nuevas Características del Framework
También está disponible en tuas apps iOS gran parte del núcleo del framework Xojo (también denominado a veces el framework Consola). Esto incluye clases como por ejemplo:
- XMLDocument
- RegEx
- SQLiteDatabase, RowSet, DatabaseColumn, DatabaseRow
- Clipboard
- URLConnection
- UDPSocket
Y también están disponibles otras funciones globales, como por ejemplo EncodeBase64/DecodeBase64.
Realmente hay mucho más de lo que se puede cubrir en un artículo del blog, pero he intentado destacar los más reseñable. Asegúrate de leer el artículo sobre Cambios de la API 2.0 en iOS en la Guía del Usuario y de probar los más de 80 ejemplos incluidos (Examples/iOS).