Arbeiten mit tvOS-Navigationsleisten in Xamarin
Navigationsleisten können am oberen Rand der Ansichten hinzugefügt werden, um einen Titel und optionale Navigationsleistenschaltflächen anzuzeigen. In der Regel werden sie verwendet, wenn der Benutzer von einer Standard-Seite aus navigiert hat, z. B. eine Tabellenansicht, eine Sammlung oder ein Menü zu einer Unteransicht mit den Details des ausgewählten Elements.
Zusätzlich zum Titel (der in der Mitte angezeigt wird), können Navigationsleisten eine oder mehrere Navigationsleistenschaltflächen (UIBarButtonItem
) auf der linken und rechten Seite der Leiste enthalten.
Wichtig
Navigationsleisten sind standardmäßig völlig transparent. Achten Sie darauf, dass der Inhalt der Navigationsleiste über dem darunter liegenden Inhalt lesbar bleibt. Wenn z. B. Inhalte in einer Tabellenansicht oder -auflistung darin scrollen.
Navigationsleisten und Storyboards
Die einfachste Möglichkeit zum Arbeiten mit Navigationsleisten in einer Xamarin.tvOS-App besteht darin, sie mithilfe des iOS-Designers zur Benutzeroberfläche der App hinzuzufügen.
Doppelklicken Sie auf dem Lösungspad auf
Main.storyboard
die Datei, und öffnen Sie sie zur Bearbeitung.Ziehen Sie eine Navigationsleiste aus der Toolbox , und legen Sie sie auf der Ansicht am oberen Rand des Bildschirms ab:
Doppelklicken Sie auf die Navigationsleiste , um das Navigationselement auszuwählen. Auf der Registerkarte "Widget" des Eigenschaftenpads können Sie den Titel festlegen:
Als Nächstes können Sie ein oder mehrere Balkenschaltflächenelemente am Ende der Leiste hinzufügen:
Verbinden Sie schließlich die Schaltflächenelemente der Leiste mit Aktionen auf der Registerkarte "Ereignisse" des Eigenschaften-Explorers:
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.
Der folgende Code zeigt ein Beispiel für Ereignishandler für drei verschiedene BarButtonItems: ShowFirstHotel
, , ShowSecondHotel
und ShowThirdHotel
. Wenn auf jedes Element geklickt wird, wird das Hintergrundbild HotelImage
geändert. Dies wird in der Ansichtscontrollerdatei (Beispiel ViewController.cs
) bearbeitet:
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
}
}
Solange die Enabled
Eigenschaft einer Schaltfläche nicht von einem anderen Steuerelement oder einer anderen Ansicht abgedeckt wird true
, kann es mithilfe der Siri Remote zum Fokuselement gemacht werden.
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 Navigationsleisten innerhalb einer Xamarin.tvOS-App.