Share via


WatchOS Menu Control (Force Touch) dans Xamarin

Watch Kit fournit un mouvement Force Touch qui déclenche un menu lorsqu’il est implémenté sur un écran d’application espion.

Apple Watch affichant un menu

Réponse à force d’interaction tactile

Si un Menu contrôleur d’interface a été implémenté pour un contrôleur d’interface, lorsqu’un utilisateur exécute une touche Force Touch, le menu s’affiche. Si aucun menu n’a été implémenté, l’écran est brièvement animé d’une autre action.

Les touches de force ne sont associées à aucun élément particulier à l’écran ; Un seul menu peut être attaché à un contrôleur d’interface et il apparaît quel que soit l’endroit où la touche Force Touch se produit sur l’écran.

Vous pouvez présenter entre une et quatre options de menu.

Ajout d’un menu

Un Menu doit être ajouté à une InterfaceController table de montage séquentiel au moment du design. Lorsqu’un contrôle de menu est déplacé sur un contrôleur d’interface, il n’existe aucune indication visuelle dans l’aperçu du storyboard, mais le menu apparaît dans le panneau Plan du document :

Modification d’un menu au moment du design

Jusqu’à quatre éléments de menu peuvent être ajoutés au contrôle de menu. Ils peuvent être configurés dans le panneau Propriétés . Les attributs suivants peuvent être définis :

  • Titre et
  • Image personnalisée ou
  • Image système : Accept, Add, Block, Decline, Info, Peut-être, More, Mute, Pause, Play, Repeat, Resume, Share, Shuffle, Speaker, Trash.

Créez un élément Action en sélectionnant la section Événements du panneau Propriétés et en tapant le nom de la méthode d’action. Une méthode partielle est créée dans le code, qui peut être implémentée dans la classe du contrôleur d’interface, comme suit :

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

Images personnalisées

Comme pour les images tabulation dans iOS, les images d’élément de menu nécessitent un modèle opaque avec un canal alpha qui permet à l’arrière-plan de s’afficher.

Vous devez ajouter les images utilisées pour le menu au projet d’application espion (et non pas au projet d’extension d’application espion) pour des performances optimales.

Modification des éléments de menu

Ajout au moment de l’exécution

Vous ne pouvez pas ajouter un Menu contrôleur d’interface au moment de l’exécution, bien que la collection de MenuItems puisse être modifiée par programmation. Utilisez la AddMenuItem méthode comme indiqué :

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

L’API Xamarin.iOS Watch Kit nécessite actuellement une selector pour la AdMenuItem méthode, qui doit être déclarée comme suit :

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

Suppression au moment de l’exécution

La ClearAllMenuItems méthode peut être appelée pour supprimer tous les éléments de menu ajoutés par programmation.

Les éléments de menu configurés dans le storyboard ne peuvent pas être effacés.