Ovládací prvek nabídky watchOS (Force Touch) v Xamarinu

Sada Watch Kit poskytuje gesto vynuceného dotykového ovládání, které aktivuje nabídku při implementaci na obrazovce aplikace kukátek.

Apple Watch showing a menu

Reakce na vynucení dotykového ovládání

Menu Pokud byl implementován pro řadič rozhraní, když uživatel provede Vynucené dotykové ovládání, zobrazí se nabídka. Pokud nebyla implementována žádná nabídka, obrazovka se krátce animuje žádná jiná akce.

Force Touches nejsou přidruženy k žádnému konkrétnímu prvku na obrazovce; K ovladači rozhraní lze připojit pouze jednu nabídku a zobrazí se bez ohledu na to, kde se na obrazovce vyskytuje stisknutí Force Touch.

Můžete zobrazit jednu až čtyři možnosti nabídky.

Přidání nabídky

V době návrhu musí být do InterfaceController scénáře přidána hodnota AMenu. Když je ovládací prvek nabídky přetažen do kontroleru rozhraní, není v náhledu scénáře žádný vizuální indikátor, ale nabídka se zobrazí v oblasti Osnova dokumentu:

Editing a menu at design time

Do ovládacího prvku nabídky lze přidat až čtyři položky nabídky. Je možné je nakonfigurovat na panelu Vlastnosti . Můžete nastavit následující atributy:

  • Název a
  • Vlastní image nebo
  • Systémový obrázek: Přijmout, Přidat, Blokovat, Odmítnout, Informace, Možná, Další, Ztlumit, Pozastavit, Přehrát, Opakovat, Pokračovat, Sdílet, Shuffle, Reproduktor, Koš.

Vytvořte akci Action výběrem oddílu Události na panelu Vlastnosti a zadáním názvu metody akce. V kódu se vytvoří částečná metoda, která se dá implementovat ve třídě kontroleru rozhraní, například takto:

partial void MenuItemTapped ()
{
    Console.WriteLine ("A menu item was tapped.");
}

Vlastní image

Podobně jako obrázky karet v iOSu vyžadují obrázky položek nabídek neprůhlený vzor s alfa kanálem, který umožňuje zobrazení pozadí.

Pokud chcete dosáhnout nejlepšího výkonu, měli byste přidat obrázky použité pro nabídku do projektu aplikace kukátek (ne projekt rozšíření aplikace kukátek).

Změna položek nabídky

Přidání za běhu

Nelze způsobit Menu přidání do kontroleru rozhraní za běhu, i když kolekci MenuItems je možné programově změnit. Použijte metodu AddMenuItem , jak je znázorněno:

AddMenuItem (WKMenuItemIcon.Accept, "Yes", new ObjCRuntime.Selector ("tapped"));

Rozhraní API sady Watch Kit pro Xamarin.iOS v současné době vyžaduje pro metodu selectorAdMenuItem , která by měla být deklarována takto:

[Export("tapped")]
void MenuItemTapped ()
{
    Console.WriteLine ("The dynamically added 'Yes' menu item was tapped.");
}

Odebrání za běhu

Metodu ClearAllMenuItems lze volat, aby se odebraly všechny položky nabídky přidané prostřednictvím kódu programu.

Položky nabídky nakonfigurované ve scénáři nelze vymazat.