SwiftUI:如何以编程方式关闭 contextMenu

问题描述

有没有办法以编程方式关闭 contextMenu

我希望在应用返回前台自动关闭 contextMenu(在进入后台之前调用)。

ContentView

struct ContentView: View {
var body: some View {
    Text("Menu")
        .contextMenu {
            Button("Button",action: { print("button tapped") })
        }
        .onReceive(
            NotificationCenter.default.publisher(for: NSNotification.Name("dismissContextMenu"))
        ) { _ in
            print("dismiss context menu")
        }
}

通知发布于 SceneDelegate

func sceneWillEnterForeground(_ scene: UIScene) {
    NotificationCenter.default.post(
        name: NSNotification.Name("dismissContextMenu"),object: nil
    )
}

我曾尝试添加 .id(viewId) 并刷新 viewId,但没有奏效。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)