Praca z kontrolkami stron systemu tvOS na platformie Xamarin
Czasami może być konieczne wyświetlenie serii stron lub obrazów w aplikacji platformy Xamarin.tvOS. Kontrolka strony została zaprojektowana tak, aby wyraźnie pokazać, która strona znajduje się poza maksymalną liczbą stron. Kontrolka strony wyświetla serię kropek na ciemnym, owalnym tle. Na bieżącej stronie zostanie wyświetlona wypełniona kropka, a wszystkie inne strony będą wyświetlane jako puste kropki. Kontrolka Strona spowoduje przycięcie zewnętrznych większości kropek, jeśli w obszarze tła znajduje się zbyt wiele.
Kontrolka strony w nieinterakcyjnym elemecie zaprojektowanym do przekazywania opinii tylko użytkownikowi. Należy dodać inne kontrolki, aby zmienić bieżący numer strony (na przykład gesty lub przyciski).
Firma Apple ma następujące sugestie dotyczące korzystania z kontrolki strony:
- Opcja Tylko pełne kolekcje — kontrolki strony działają najlepiej w środowisku pełnoekranowym, aby wyświetlić wiele stron, które istnieją w jednej kolekcji.
- Ogranicz liczbę stron — kontrolki strony działają najlepiej dla dziesięciu (10) lub mniejszej liczby stron oraz maksymalnie dwudziestu (20) stron. W przypadku ponad dwudziestu stron rozważ użycie widoku kolekcji i wyświetlenie stron w siatce.
Kontrolki stron i scenorysy
Najprostszym sposobem pracy z kontrolkami stron w aplikacji platformy Xamarin.tvOS jest dodanie ich do interfejsu użytkownika aplikacji przy użyciu Projektant systemu iOS.
W okienku rozwiązania kliknij
Main.storyboard
dwukrotnie plik i otwórz go do edycji.Przeciągnij kontrolkę strony z przybornika i upuść ją w widoku:
Na karcie Widżet okienka właściwości można dostosować kilka właściwości kontrolki strony, takich jak bieżąca strona i liczba stron:
Następnie dodaj kontrolki lub gesty do widoku, aby przejść do tyłu i do przodu przez kolekcję stron.
Na koniec przypisz nazwy do kontrolek, aby móc odpowiadać na nie w kodzie języka C#. Na przykład:
Zapisz zmiany.
Ważne
Chociaż istnieje możliwość przypisania zdarzeń, takich jak TouchUpInside
do elementu interfejsu użytkownika (takiego jak UIButton) w Projektant systemu iOS, nigdy nie będzie wywoływana, ponieważ urządzenie Apple TV nie ma ekranu dotykowego ani nie obsługuje zdarzeń dotykowych. Zdarzenie należy zawsze używać Primary Action
podczas tworzenia procedur obsługi zdarzeń dla elementów interfejsu użytkownika systemu tvOS.
Edytuj plik Kontrolera widoku (przykład ViewController.cs
) i dodaj kod, aby obsłużyć zmiany stron. Na przykład:
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
}
}
Przyjrzyjmy się bliżej dwóm właściwościom kontrolki strony. Najpierw, aby określić maksymalną liczbę stron, użyj następującego polecenia:
PageView.Pages = 6;
Aby zmienić bieżący numer strony, użyj następującego kodu:
PageView.CurrentPage = PageNumber;
Właściwość CurrentPage
ma wartość zero (0), więc pierwsza strona będzie równa zero, a ostatnia będzie jedną minus maksymalną liczbę stron.
Aby uzyskać więcej informacji na temat pracy z scenorysami, zobacz przewodnik Szybki start dotyczący funkcji Hello, tvOS.
Podsumowanie
W tym artykule opisano projektowanie i pracę z kontrolką strony w aplikacji platformy Xamarin.tvOS.