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).
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:
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.
W okienku rozwiązania kliknij
Main.storyboard
dwukrotnie plik i otwórz go do edycji.Przeciągnij kontrolery widoku podzielonego z przybornika i upuść go w widoku:
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.
Jeśli usuniesz domyślny widok główny, przeciągnij nowy kontroler widoku na powierzchnię projektową:
Kliknij i przeciągnij z kontrolera widoku podzielonego do nowego kontrolera widoku głównego.
Wybierz pozycję Wzorzec z menu podręcznego:
Zaprojektuj zawartość widoków wzorca i szczegółów:
Przypisz nazwy na karcie Widżet okienka właściwości, aby pracować z kontrolkami interfejsu użytkownika w kodzie języka C#.
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.