Udostępnij za pośrednictwem


Praca z kontrolerami widoku podzielonego systemu tvOS na platformie Xamarin

Ostrzeżenie

Projektant systemu iOS zostały wycofane w programie Visual Studio 2019 w wersji 16.8 i Visual Studio 2019 dla komputerów Mac w wersji 8.8 i usunięte w programie Visual Studio 2019 w wersji 16.9 i Visual Studio dla komputerów Mac w wersji 8.9. Zalecanym sposobem kompilowania interfejsów użytkownika systemu iOS jest bezpośrednie na komputerze Mac z uruchomionym narzędziem Xcode Interface Builder. Aby uzyskać więcej informacji, zobacz Projektowanie interfejsów użytkownika za pomocą programu Xcode.

Kontroler widoku podzielonego przedstawia kontroler widoku głównego i widoku szczegółów i zarządza nim jednocześnie na ekranie. Kontrolery widoku podzielonego są używane do prezentowania trwałej, skoncentrowanej zawartości w widoku głównym (mniejszej sekcji po lewej stronie) i powiązanych szczegółów w widoku szczegółów (większa sekcja po prawej stronie).

Przykładowy widok podziału

Informacje o kontrolerach widoku podzielonego

Jak wspomniano powyżej, kontroler widoku podzielonego zarządza kontrolerem widoku głównego i widoku szczegółów, które są prezentowane obok siebie, a wzorzec jest mniejszy w lewym widoku, szczegóły większe po prawej stronie.

Ponadto kontroler widoku głównego może być ukryty lub wyświetlany zgodnie z wymaganiami:

Kontroler widoku głównego jest ukryty

Kontrolery widoków podzielonych są często używane do prezentowania listy zawartości możliwej do filtrowania z kategoriami w widoku głównym i filtrowanych wyników w widoku szczegółów. Zazwyczaj jest to widok tabeli po lewej stronie i widok kolekcji po prawej stronie.

Podczas projektowania interfejsu użytkownika, który wymaga kontrolera widoku podzielonego, firma Apple sugeruje używanie kontrolerów widoku głównego i szczegółowego, które nie zmieniają się (tylko zmiany zawartości, a nie struktury). Jeśli musisz zamienić kontrolery widoku, najlepiej użyć kontrolera nawigacji jako podstawy kontrolera widoku, który musi zmienić (wzorzec lub szczegóły).

Firma Apple ma następujące sugestie dotyczące pracy z kontrolerami widoku podzielonego:

  • Użyj poprawnej wartości procentowej podziału — domyślnie kontroler widoku podzielonego używa jednej trzeciej ekranu dla kontrolera widoku głównego i dwóch trzecich dla kontrolera widoku szczegółów. Opcjonalnie możesz użyć podziału 50/50. Wybierz poprawną wartość procentową, aby zawartość wyglądała na zrównoważoną na ekranie.
  • Utrwalanie zaznaczenia głównego — podczas gdy zawartość w widoku szczegółów może ulec zmianie, jest odpowiedzią na wybór użytkownika w widoku głównym, zawartość widoku głównego powinna zostać naprawiona. Ponadto należy wyraźnie wyświetlić aktualnie wybrany element w widoku głównym.
  • Użyj pojedynczego, ujednoliconego tytułu — zazwyczaj należy użyć pojedynczego, wyśrodkowanego tytułu w widoku szczegółów, a nie tytułu zarówno w widoku szczegółów, jak i widoku wzorca.

Split View Controllers and Storyboards

Najprostszym sposobem pracy z kontrolerami widoku podzielonego w aplikacji platformy Xamarin.tvOS jest dodanie ich do interfejsu użytkownika aplikacji przy użyciu Projektant systemu iOS.

  1. W okienku rozwiązania kliknij Main.storyboard dwukrotnie plik i otwórz go do edycji.

  2. Przeciągnij kontrolery widoku podzielonego z przybornika i upuść go w widoku:

    Kontroler widoku podzielonego

  3. Domyślnie Projektant systemu iOS zainstaluje kontroler nawigacji i kontroler widoku w widoku głównym. Jeśli nie pasuje to do wymagań aplikacji, po prostu usuń je.

  4. Jeśli usuniesz domyślny widok główny, przeciągnij nowy kontroler widoku na powierzchnię projektową:

    Kontroler widoku

  5. Kliknij i przeciągnij z kontrolera widoku podzielonego do nowego kontrolera widoku głównego.

  6. Wybierz pozycję Wzorzec z menu podręcznego:

    Wybierz pozycję Wzorzec z menu podręcznego

  7. Zaprojektuj zawartość widoków wzorca i szczegółów:

    Układ przykładowy

  8. Przypisz nazwy na karcie Widżet okienka właściwości, aby pracować z kontrolkami interfejsu użytkownika w kodzie języka C#.

  9. Zapisz zmiany i wróć do Visual Studio dla komputerów Mac.

Aby uzyskać więcej informacji na temat pracy z scenorysami, zobacz przewodnik Szybki start dotyczący funkcji Hello, tvOS.

Praca z kontrolerami widoku podzielonego

Jak wspomniano powyżej, kontroler widoku podzielonego jest często używany w sytuacjach, w których wyświetlasz filtrowaną zawartość użytkownikowi. Główne kategorie są wyświetlane po lewej stronie w widoku głównym, a odfiltrowane wyniki po prawej stronie w widoku szczegółów na podstawie wyboru użytkownika.

Uzyskiwanie dostępu do wzorca i szczegółów

Jeśli chcesz uzyskać dostęp do kontrolerów widoku głównego i szczegółowego programowo, użyj ViewControllers właściwości Split View Controller. Na przykład:

// Gain access to master and detail view controllers
var masterController = ViewControllers [0] as MasterViewController;
var detailController = ViewControllers [1] as DetailViewController;

Jest on przedstawiany jako tablica, gdzie pierwszy element (0) w kontrolerze widoku głównego, a drugi element (1) jest szczegółem.

Uzyskiwanie dostępu do szczegółów z wzorca

Ponieważ w widoku szczegółów zwykle są wyświetlane szczegółowe informacje na podstawie wyboru użytkownika w obszarze Wzorzec, należy uzyskać dostęp do szczegółów z poziomu wzorca.

Najprostszym sposobem wykonania tej czynności jest uwidocznienie właściwości w klasie Kontroler widoku głównego, na przykład:

public DetailViewController DetailController { get; set;}

W kontrolerze widoku podzielonego zastąpij metodę ViewDidLoad i połącz oba widoki. Na przykład:

public override void ViewDidLoad ()
{
    base.ViewDidLoad ();

    // Gain access to master and detail view controllers
    var masterController = ViewControllers [0] as MasterViewController;
    var detailController = ViewControllers [1] as DetailViewController;

    // Wire-up views
    masterController.SplitViewController = this;
    masterController.DetailController = detailController;
    detailController.SplitViewController = this;
}

Właściwości i metody można uwidocznić na kontrolerze widoku szczegółów, za pomocą którego wzorzec może przedstawić nowe dane zgodnie z potrzebami.

Pokazywanie i ukrywanie wzorca

Opcjonalnie można wyświetlić i ukryć kontroler widoku głównego przy użyciu PreferredDisplayMode właściwości Split View Controller. Na przykład:

// Show hide split view
if (SplitViewController.DisplayMode == UISplitViewControllerDisplayMode.PrimaryHidden) {
    SplitViewController.PreferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible;
} else {
    SplitViewController.PreferredDisplayMode = UISplitViewControllerDisplayMode.PrimaryHidden;
}

Wyliczenie UISplitViewControllerDisplayMode definiuje sposób prezentowania kontrolera widoku głównego jako jednego z następujących elementów:

  • Automatyczne — tvOS będzie kontrolować prezentację widoków wzorca i szczegółów.
  • PrimaryHidden — ukrywa kontroler widoku głównego.
  • AllVisible — wyświetla zarówno kontrolery widoku głównego, jak i widoków szczegółów obok siebie. Jest to normalna, domyślna prezentacja.
  • PrimaryOverlay — kontroler widoku szczegółów rozszerza się w obszarze i jest objęty wzorcem.

Aby uzyskać bieżący stan prezentacji, użyj DisplayMode właściwości Kontrolera widoku podzielonego.

Podsumowanie

W tym artykule opisano projektowanie i pracę z kontrolerami widoku podzielonego w aplikacji platformy Xamarin.tvOS.