Freigeben über


Arbeiten mit tvOS-Seitensteuerelementen in Xamarin

Manchmal müssen Sie möglicherweise eine Reihe von Seiten oder Bildern in Ihrer Xamarin.tvOS-App anzeigen. Ein Seitensteuerelement wurde entwickelt, um deutlich zu zeigen, auf welcher Seite sich ein Benutzer außerhalb der maximalen Anzahl von Seiten befindet. Ein Seitensteuerelement zeigt eine Reihe von Punkten gegen einen dunklen, ovalen Hintergrund an. Auf der aktuellen Seite wird ein ausgefüllter Punkt angezeigt, alle anderen Seiten werden als hohle Punkte angezeigt. Das Page-Steuerelement beschnitten die äußeren meisten Punkte, wenn zu viele vorhanden sind, um in den Hintergrundbereich zu passen.

Beispielseiten-Steuerelement

Ein Seitensteuerelement in einem nicht interaktiven Element, das dem Benutzer nur Feedback gibt. Sie müssen weitere Steuerelemente hinzufügen, um die aktuelle Seitenzahl (z. B. Gesten oder Schaltflächen) zu ändern.

Apple hat die folgenden Vorschläge bei der Verwendung eines Seitensteuerelements:

  • Nur für vollständige Sammlungen verwenden – Seitensteuerelemente funktionieren in einer Vollbildumgebung am besten, um mehrere Seiten anzuzeigen, die in einer einzelnen Auflistung vorhanden sind.
  • Beschränken Sie die Anzahl der Seiten – Seitensteuerelemente funktionieren am besten für zehn (10) oder weniger Seiten und maximal zwanzig (20) Seiten. Für mehr als zwanzig Seiten sollten Sie eine Sammlungsansicht verwenden und die Seiten in einem Raster anzeigen.

Seitensteuerelemente und Storyboards

Die einfachste Möglichkeit zum Arbeiten mit Seitensteuerelementen in einer Xamarin.tvOS-App besteht darin, sie mithilfe des iOS-Designers zur Benutzeroberfläche der App hinzuzufügen.

  1. Doppelklicken Sie auf dem Lösungspad auf die Main.storyboard Datei, und öffnen Sie sie zur Bearbeitung.

  2. Ziehen Sie ein Seitensteuerelement aus der Toolbox , und legen Sie es in der Ansicht ab:

    Seitensteuerelement

  3. Auf der Registerkarte "Widget" des Eigenschaftenblocks können Sie mehrere Eigenschaften des Seitensteuerelements anpassen, z. B. die aktuelle Seite und die Anzahl der Seiten:

    Die Registerkarte

  4. Als Nächstes fügen Sie der Ansicht Steuerelemente oder Gesten hinzu, um durch die Sammlung von Seiten rückwärts und vorwärts zu navigieren.

  5. Weisen Sie schließlich den Steuerelementen Namen zu, damit Sie im C#-Code darauf reagieren können. Zum Beispiel:

    Benennen des Steuerelements

  6. Speichern Sie die Änderungen.

Wichtig

Es ist zwar möglich, Ereignisse wie z TouchUpInside . B. einem UI-Element (z. B. einem UIButton)-Element im iOS-Designer zuzuweisen, es wird jedoch nie aufgerufen, da Apple TV über keinen Touchscreen verfügt oder Touchereignisse unterstützt. Sie sollten das Primary Action Ereignis immer verwenden, wenn Sie Ereignishandler für tvOS-Benutzeroberflächenelemente erstellen.

Bearbeiten Sie die View Controller-Datei (Beispiel ViewController.cs), und fügen Sie den Code hinzu, um die zu ändernden Seiten zu behandeln. Zum Beispiel:

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
    }
}

Werfen wir einen genaueren Blick auf zwei Eigenschaften des Seitensteuerelements. Verwenden Sie zunächst Folgendes, um die maximale Anzahl von Seiten anzugeben:

PageView.Pages = 6;

Verwenden Sie den folgenden Code, um die aktuelle Seitenzahl zu ändern:

PageView.CurrentPage = PageNumber;

Die CurrentPage Eigenschaft ist null (0) basiert, sodass die erste Seite null ist und die letzte die maximale Anzahl von Seiten abzüglich der maximalen Anzahl von Seiten ist.

Weitere Informationen zum Arbeiten mit Storyboards finden Sie in unserem Schnellstarthandbuch für Hello, tvOS.

Zusammenfassung

Dieser Artikel befasst sich mit dem Entwerfen und Arbeiten mit Seitensteuerelementen innerhalb einer Xamarin.tvOS-App.