Sdílet prostřednictvím


Práce s ovládacími prvky stránky tvOS v Xamarinu

Někdy může být potřeba zobrazit řadu stránek nebo obrázků v aplikaci Xamarin.tvOS. Ovládací prvek stránky byl navržen tak, aby jasně ukázal, na které stránce je uživatel mimo maximální počet stránek. Ovládací prvek stránky zobrazí řadu teček na tmavém oválovém pozadí. Aktuální stránka zobrazí vyplněnou tečku, všechny ostatní stránky se zobrazí jako prázdné tečky. Ovládací prvek Stránka vystřihne vnější tečky, pokud je v jeho oblasti pozadí příliš mnoho.

Ukázkový ovládací prvek Stránka

Ovládací prvek stránky v neinteraktivním prvku navržený tak, aby poskytl zpětnou vazbu jenom uživateli. Pokud chcete změnit aktuální číslo stránky (například gesta nebo tlačítka), budete muset přidat další ovládací prvky.

Apple má při použití ovládacího prvku stránky následující návrhy:

  • Používejte pouze v úplných kolekcích – Ovládací prvky stránky fungují nejlépe v prostředí na celé obrazovce a zobrazují více stránek, které existují v jedné kolekci.
  • Omezit počet stránek – Ovládací prvky stránek fungují nejlépe pro deset (10) nebo méně stránek a maximálně dvacet (20) stránek. U více než dvaceti stránek zvažte použití zobrazení kolekce a zobrazení stránek v mřížce.

Ovládací prvky stránky a scénáře

Nejjednodušší způsob, jak pracovat s ovládacími prvky stránky 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 ovládací prvek stránky ze sady nástrojů a přetáhněte ho do zobrazení:

    Ovládací prvek stránky

  3. Na kartě Widget v oblasti Vlastností můžete upravit několik vlastností ovládacího prvku stránky, jako je jeho aktuální stránka a počet stránek:

    Karta Widget

  4. V dalším kroku přidejte ovládací prvky nebo gesta do zobrazení, abyste se mohli pohybovat vzad a vpřed v kolekci stránek.

  5. Nakonec k ovládacím prvkům přiřaďte názvy , abyste na ně mohli reagovat v kódu jazyka C#. Příklad:

    Pojmenování ovládacího prvku

  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.

Upravte soubor Kontroleru zobrazení (příklad ViewController.cs) a přidejte kód pro zpracování změně stránek. Příklad:

using System;
using Foundation;
using UIKit;

namespace MySingleView
{
    public partial class ViewController : UIViewController
    {
        #region Computed Properties
        public nint PageNumber { get; set; } = 0;
        #endregion

        #region Constructors
        public ViewController (IntPtr handle) : base (handle)
        {
        }
        #endregion

        #region Override Methods
        public override void ViewDidLoad ()
        {
            base.ViewDidLoad ();

            // Initialize
            PageView.Pages = 6;
            ShowCat ();
        }

        public override void DidReceiveMemoryWarning ()
        {
            base.DidReceiveMemoryWarning ();
            // Release any cached data, images, etc that aren't in use.
        }
        #endregion

        #region Custom Actions
        partial void NextCat (UIBarButtonItem sender) {

            // Display next Cat
            if (++PageNumber > 5) {
                PageNumber = 5;
            }
            ShowCat();

        }

        partial void PreviousCat (UIBarButtonItem sender) {
            // Display previous cat
            if (--PageNumber < 0) {
                PageNumber = 0;
            }
            ShowCat();
        }
        #endregion

        #region Private Methods
        private void ShowCat() {

            // Adjust UI
            PreviousButton.Enabled = (PageNumber > 0);
            NextButton.Enabled = (PageNumber < 5);
            PageView.CurrentPage = PageNumber;

            // Display new cat
            CatView.Image = UIImage.FromFile(string.Format("Cat{0:00}.jpg",PageNumber+1));
        }
        #endregion
    }
}

Pojďme se podrobněji podívat na dvě vlastnosti ovládacího prvku Stránky. Nejprve k určení maximálního počtu stránek použijte následující:

PageView.Pages = 6;

Pokud chcete změnit číslo aktuální stránky, použijte následující kód:

PageView.CurrentPage = PageNumber;

Vlastnost CurrentPage je založená na nule (0), takže první stránka bude nula a poslední bude jedna minus maximální počet stránek.

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 ovládacími prvky stránky v aplikaci Xamarin.tvOS.