Trabalhando com barras de navegação do tvOS no Xamarin
As Barras de Navegação podem ser adicionadas à parte superior dos modos de exibição para exibir um Título e Botões opcionais da Barra de Navegação. Normalmente, eles são usados quando o usuário navega de uma página principal, como um Modo de Exibição de Tabela, Coleção ou Menu, para uma subexibição mostrando os detalhes do item selecionado.
Além do Título (que é exibido no centro), as Barras de Navegação podem conter um ou mais Botões da Barra de Navegação (UIBarButtonItem
) nos lados esquerdo e direito da barra.
Importante
As barras de navegação são totalmente transparentes por padrão. Deve-se tomar cuidado para garantir que o conteúdo da Barra de Navegação permaneça legível sobre o conteúdo abaixo dela. Por exemplo, quando o conteúdo em um Modo de Exibição de Tabela ou Coleção rola sob ele.
Barras de navegação e storyboards
A maneira mais fácil de trabalhar com Barras de Navegação em um aplicativo Xamarin.tvOS é adicioná-las à interface do usuário do aplicativo usando o iOS Designer.
No Solution Pad, clique
Main.storyboard
duas vezes no arquivo e abra-o para edição.Arraste uma Barra de Navegação da Caixa de Ferramentas e solte-a na Exibição na parte superior da tela:
Clique duas vezes na Barra de Navegação para selecionar Item de Navegação. Na guia Widget do Bloco de Propriedades, você pode definir o Título:
Em seguida, você pode adicionar um ou mais itens de botão de barra a qualquer extremidade da barra:
Por fim, conecte os Itens do Botão da Barra a Ações na guia Eventos do Gerenciador de Propriedades:
Salve suas alterações.
Importante
Embora seja possível atribuir eventos como TouchUpInside
a um elemento da interface do usuário (como um UIButton) no iOS Designer, ele nunca será chamado porque a Apple TV não tem uma tela sensível ao toque ou suporta eventos de toque. Você sempre deve usar o Primary Action
evento ao criar manipuladores de eventos para elementos da interface do usuário do tvOS.
O código a seguir fornece um exemplo de manipuladores de eventos em três BarButtonItems diferentes: ShowFirstHotel
, ShowSecondHotel
e ShowThirdHotel
. Quando cada item é clicado, a imagem HotelImage
de plano de fundo é alterada. Isso é editado no arquivo View Controller (exemplo 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
}
}
Contanto que a propriedade de Enabled
um botão seja true
e não seja coberta por outro controle ou visualização, ele pode ser transformado no item em foco usando o Siri Remote.
Para obter mais informações sobre como trabalhar com Storyboards, consulte nosso Guia de Início Rápido Olá, tvOS.
Resumo
Este artigo abordou o design e o trabalho com Barras de Navegação dentro de um aplicativo Xamarin.tvOS.