Kontrolka menu systemu watchOS (Force Touch) na platformie Xamarin
Zestaw Watch Kit udostępnia gest Force Touch, który wyzwala menu po zaimplementowaniu na ekranie aplikacji zegarka.
Reagowanie na wymuszone dotknięcie
Menu
Jeśli element został zaimplementowany dla kontrolera interfejsu, gdy użytkownik wykona funkcję Force Touch, zostanie wyświetlone menu. Jeśli menu nie zostało zaimplementowane, ekran jest krótko animowany, nie ma innego działania.
Wymuś dotknięcia nie są skojarzone z żadnym konkretnym elementem na ekranie; tylko jedno menu można dołączyć do kontrolera interfejsu i będzie wyświetlane niezależnie od tego, gdzie na ekranie występuje naciśnięcie klawisza Force Touch.
Między jedną i czterema opcjami menu można przedstawić.
Dodawanie menu
Element Menu
należy dodać do InterfaceController
scenorysu w czasie projektowania. Gdy kontrolka menu zostanie przeciągnięta na kontroler interfejsu, nie ma żadnych wskazówek wizualnych w podglądzie scenorysu, ale menu jest wyświetlane w okienku konspektu dokumentu:
Do kontrolki menu można dodać maksymalnie cztery elementy menu. Można je skonfigurować w okienku Właściwości . Można ustawić następujące atrybuty:
- Tytuł i
- Obraz niestandardowy lub
- Obraz systemu: Akceptuj, Dodaj, Blokuj, Odrzucaj, Informacje, Być może, Więcej, Wycisz, Wstrzymaj, Odtwarzaj, Powtarzaj, Wznów, Udostępnij, Shuffle, Speaker, Kosz.
Utwórz obiekt Action
, wybierając sekcję Zdarzenia w okienku Właściwości i wpisując nazwę metody akcji. Metoda częściowa zostanie utworzona w kodzie, który można zaimplementować w klasie kontrolera interfejsu, w następujący sposób:
partial void MenuItemTapped ()
{
Console.WriteLine ("A menu item was tapped.");
}
Obrazy niestandardowe
Podobnie jak w przypadku obrazów kart w systemie iOS, obrazy elementów menu wymagają nieprzezroczystego wzorca z kanałem alfa, który umożliwia wyświetlanie tła.
Aby uzyskać najlepszą wydajność, należy dodać obrazy używane do menu w projekcie aplikacji zegarka (a nie w projekcie rozszerzenia aplikacji zegarka).
Zmienianie elementów menu
Dodawanie w czasie wykonywania
Nie można spowodować Menu
dodania elementu do kontrolera interfejsu w czasie wykonywania, chociaż kolekcja MenuItem
s może być zmieniana programowo.
AddMenuItem
Użyj metody , jak pokazano:
AddMenuItem (WKMenuItemIcon.Accept, "Yes", new ObjCRuntime.Selector ("tapped"));
Interfejs API zestawu watch Kit platformy Xamarin.iOS wymaga selector
obecnie elementu dla AdMenuItem
metody , która powinna być zadeklarowana w następujący sposób:
[Export("tapped")]
void MenuItemTapped ()
{
Console.WriteLine ("The dynamically added 'Yes' menu item was tapped.");
}
Usuwanie w czasie wykonywania
Metodę ClearAllMenuItems
można wywołać, aby usunąć wszystkie elementy menu dodane programowo.
Nie można wyczyścić elementów menu skonfigurowanych w scenorysie.