Compartilhar via


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.

Barra de navegação de exemplo

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.

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.

  1. No Solution Pad, clique Main.storyboard duas vezes no arquivo e abra-o para edição.

  2. Arraste uma Barra de Navegação da Caixa de Ferramentas e solte-a na Exibição na parte superior da tela:

    Uma barra de navegação

  3. 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:

    Definir o título

  4. Em seguida, você pode adicionar um ou mais itens de botão de barra a qualquer extremidade da barra:

    Um item de botão de barra

  5. Por fim, conecte os Itens do Botão da Barra a Ações na guia Eventos do Gerenciador de Propriedades:

    Uma ação de item de botão de barra

  6. 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, ShowSecondHotele 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.