SwiftUI - Apple Watch 菜单(强制触摸)

SwiftUI - Apple Watch Menu (Force Touch)

我正在尝试使用 SwiftUI 在 Apple Watch 上实现一个菜单,但我找不到实现它的方法。即使在 interface.storyboard 上,我也无法 drag/drop 菜单。

您是否设法使其与 SwiftUI 兼容?如果是,如何?

我在网上搜索过,但目前还没有。

是的,这是可能的。请务必记住,与 iOS 不同,一个视图只能有一个上下文菜单,视图中的各个元素不能有自己的上下文菜单。

无论如何,要使用 SwiftUI 在 Apple Watch 上实现上下文菜单(强制触摸菜单),请将 .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")
            }
        })
    })
}

根据需要编辑按钮(或添加按钮)。