web-dev-qa-db-fra.com

SwiftUI - Apple Menu Watch (Force Touch)

J'essaie d'implémenter un menu sur Apple Watch en utilisant SwiftUI mais je ne trouve pas de moyen de le faire. Même sur le interface.storyboard, Je ne peux pas glisser/déposer le menu.

Avez-vous réussi à le faire fonctionner avec SwiftUI? Si oui, comment?

J'ai cherché en ligne mais rien pour l'instant.

9
Daymo502

Oui, c'est possible. Il est important de se rappeler que contrairement à iOS, une vue ne peut avoir qu'un seul menu contextuel, les éléments individuels de la vue ne peuvent pas avoir leur propre menu contextuel.

Quoi qu'il en soit, pour implémenter un menu contextuel (forcer le menu tactile) sur Apple Watch avec SwiftUI, ajoutez le modificateur .contextMenu() à la vue la plus haute de votre body

Exemple:

var body: some View {
    Group {
        Text("Hello Daymo")
    }
    .contextMenu(menuItems: {
        Button(action: {
            print("Refresh")
        }, label: {
            VStack{
                Image(systemName: "arrow.clockwise")
                    .font(.title)
                Text("Refresh view")
            }
        })
    })
}

Modifiez le bouton (ou ajoutez des boutons) comme bon vous semble.

14
Will