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

Day*_*502 11 swift apple-watch watchkit swiftui

我正在尝试使用 SwiftUI 在 Apple Watch 上实现菜单,但找不到方法。即使在 上interface.storyboard,我也无法拖放菜单。

您是否设法使其与 SwiftUI 一起使用?如果是,如何?

我在网上搜索,但到目前为止一无所获。

Wil*_*ill 20

是的,这是可能的。重要的是要记住,与 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")
            }
        })
    })
}
Run Code Online (Sandbox Code Playgroud)

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

  • watchOS 7.0 中已弃用“contextMenu(menuItems:)” (3认同)