Sdílet prostřednictvím


Práce s navigačními panely tvOS v Xamarinu

Navigační panely lze přidat do horní části zobrazení, aby se zobrazila záhlaví a volitelná tlačítka navigačního panelu. Obvykle se používají, když uživatel přešel z hlavní stránky, jako je zobrazení tabulky, kolekce nebo nabídka, do dílčího zobrazení zobrazující podrobnosti o vybrané položce.

Ukázkový navigační panel

Kromě nadpisu (zobrazeného uprostřed) můžou navigační panely obsahovat jedno nebo více tlačítek navigačního panelu (UIBarButtonItem) na levé a pravé straně panelu.

Důležité

Navigační panely jsou ve výchozím nastavení zcela transparentní. Je třeba dbát na to, aby obsah navigačního panelu zůstal čitelný nad obsahem pod ním. Například když se obsah v zobrazení tabulky nebo v kolekci posune pod ním.

Nejjednodušší způsob, jak pracovat s navigačními panely v aplikaci Xamarin.tvOS, je přidat je do uživatelského rozhraní aplikace pomocí iOS Designeru.

  1. V oblasti řešení poklikejte na Main.storyboard soubor a otevřete ho pro úpravy.

  2. Přetáhněte navigační panel ze sady nástrojů a umístěte ho do zobrazení v horní části obrazovky:

    Navigační panel

  3. Poklikáním na navigační panel vyberte položku navigace. Na kartě Widget v oblasti Vlastnosti můžete nastavit název:

    Nastavení názvu

  4. Dále můžete přidat jednu nebo více položek tlačítek pruhu na konec pruhu:

    Položka tlačítka pruhu

  5. Nakonec zahodíte položky panelového tlačítka na akce na kartě Události v Průzkumníku vlastností:

    Akce položky tlačítka pruhu

  6. Uložte provedené změny.

Důležité

I když je možné přiřadit události, jako TouchUpInside je prvek uživatelského rozhraní (například UIButton) v iOS Designeru, nebude nikdy volána, protože Apple TV nemá dotykovou obrazovku ani nepodporuje dotykové události. Událost byste měli vždy použít Primary Action při vytváření obslužných rutin událostí pro prvky uživatelského rozhraní tvOS.

Následující kód poskytuje příklad obslužných rutin událostí na třech různých BarButtonItems: ShowFirstHotel, ShowSecondHotela ShowThirdHotel. Po kliknutí na každou položku se obrázek HotelImage pozadí změní. Toto je upraveno v souboru Kontroleru zobrazení (příklad 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
    }
}

Pokud je true vlastnost tlačítka Enabled a není pokryta jiným ovládacím prvku nebo zobrazením, může se jednat o položku v fokusu pomocí Siri Remoteu.

Další informace o práci se storyboardy najdete v naší úvodní příručce Hello, tvOS.

Shrnutí

Tento článek popisuje návrh a práci s navigačními panely v aplikaci Xamarin.tvOS.