web-dev-qa-db-ja.com

SwiftUI-Apple Watch Menu(Force Touch)

Apple Watch on SwiftUIを使用してメニューを実装しようとしていますが、それを行う方法が見つかりません。interface.storyboard、メニューをドラッグ/ドロップできません。

SwiftUIで動作させることができましたか?はいの場合、どのように?

オンラインで検索しましたが、今のところ何もありません。

9
Daymo502

はい、可能です。 iOSとは異なり、ビューは1つのコンテキストメニューしか持つことができず、ビュー内の個々の要素は独自のコンテキストメニューを持つことができないことを覚えておくことは重要です。

とにかく、Apple Watch with SwiftUI)にコンテキストメニュー(強制タッチメニュー)を実装するには、.contextMenu()修飾子をbodyの最上位のビューに追加します

例:

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")
            }
        })
    })
}

必要に応じてボタンを編集(またはボタンを追加)します。

14
Will