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.
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:
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 MenuItem
s 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 selector
AdMenuItem
, 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.