Trabajar con barras de navegación de tvOS en Xamarin
Las barras de navegación se pueden agregar a la parte superior de las vistas para mostrar un título y botones de barra de navegación opcionales. Normalmente, se usan cuando el usuario ha navegado desde una página principal, como una vista de tabla, una colección o un menú a una subvista que muestra los detalles del elemento seleccionado.
Además del título (que se muestra en el centro), las barras de navegación pueden contener uno o varios botones de barra de navegación (UIBarButtonItem
) en los lados izquierdo y derecho de la barra.
Importante
Las barras de navegación son totalmente transparentes de forma predeterminada. Se debe tener cuidado para asegurarse de que el contenido de la barra de navegación permanece legible sobre el contenido debajo de él. Por ejemplo, cuando el contenido de una vista de tabla o colección se desplaza en él.
Barras de navegación y guiones gráficos
La manera más fácil de trabajar con barras de navegación en una aplicación de Xamarin.tvOS es agregarlas a la interfaz de usuario de la aplicación mediante iOS Designer.
En el Panel de solución, haga doble clic en el archivo
Main.storyboard
y ábralo para editarlo.Arrastre una Barra de navegación desde el cuadro de herramientas y colóquelo en la vista en la parte superior de la pantalla:
Haga doble clic en la Barra de navegación para seleccionar Elemento de navegación. En la pestaña Widget del Panel de propiedades, puede establecer el título:
A continuación, puede agregar uno o varios elementos de botón de barra al final de la barra:
Por último, conecte los Elementos del botón Barra a las acciones en la pestaña Eventos del Explorador de propiedades:
Guarde los cambios.
Importante
Aunque es posible asignar eventos como TouchUpInside
a un elemento de interfaz de usuario (como un UIButton) en el Diseñador de iOS, nunca se llamará porque Apple TV no tiene una pantalla táctil ni admite eventos táctiles. Siempre debe usar el evento Primary Action
al crear controladores de eventos para elementos de la interfaz de usuario de tvOS.
El código siguiente proporciona un ejemplo de controladores de eventos en tres BarButtonItems diferentes: ShowFirstHotel
, ShowSecondHotel
y ShowThirdHotel
. Cuando se hace clic en cada elemento, se cambia la imagen de fondo HotelImage
. Esto se edita en el archivo Controlador de vista (ejemplo ViewController.cs
):
using System;
using Foundation;
using UIKit;
namespace MySingleView
{
public partial class ViewController : UIViewController
{
#region Constructors
public ViewController (IntPtr handle) : base (handle)
{
}
#endregion
#region Override Methods
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// Perform any additional setup after loading the view, typically from a nib.
}
public override void DidReceiveMemoryWarning ()
{
base.DidReceiveMemoryWarning ();
// Release any cached data, images, etc that aren't in use.
}
#endregion
#region Custom Actions
partial void ShowFirstHotel (UIBarButtonItem sender) {
// Change background image
HotelImage.Image = UIImage.FromFile("Motel01.jpg");
}
partial void ShowSecondHotel (UIBarButtonItem sender) {
// Change background image
HotelImage.Image = UIImage.FromFile("Motel02.jpg");
}
partial void ShowThirdHotel (UIBarButtonItem sender) {
// Change background image
HotelImage.Image = UIImage.FromFile("Motel03.jpg");
}
#endregion
}
}
Siempre que la propiedad de un botón Enabled
sea true
y no esté cubierto por otro control o vista, puede convertirse en el elemento enfocado utilizando el Siri Remote.
Para obtener más información sobre cómo trabajar con Storyboards, consulte nuestra Guía de inicio rápido de Hello, tvOS.
Resumen
En este artículo se ha tratado el diseño y el trabajo con barras de navegación dentro de una aplicación Xamarin.tvOS.