Swiftui 上下文菜单中的NavigationLink不再在iOS14 xcode12 beta3中工作?

Swiftui 上下文菜单中的NavigationLink不再在iOS14 xcode12 beta3中工作?,swiftui,contextmenu,swiftui-navigationlink,ios14,xcode12,Swiftui,Contextmenu,Swiftui Navigationlink,Ios14,Xcode12,想知道是否还有其他人存在此问题,以及是否找到了解决方法。这在iOS 13中运行良好,但在iOS 14中似乎不正常。 我只是想从.contextMenu中弹出一个指向另一个视图的导航链接 我的代码如下 import SwiftUI struct ContentView: View { var body: some View { NavigationView { VStack { HStack {

想知道是否还有其他人存在此问题,以及是否找到了解决方法。这在iOS 13中运行良好,但在iOS 14中似乎不正常。 我只是想从.contextMenu中弹出一个指向另一个视图的导航链接

我的代码如下

import SwiftUI

struct ContentView: View {
    var body: some View {
        
        NavigationView {
            VStack {
                HStack {
                    Text("I am a text in a HStack ")
                }
                HStack {
                    NavigationLink(destination: TestView()) {
                        VStack {
                            Image(systemName:"gauge")
                                .font(.system(size: 31))
                        }
                    }
                }
            }
            .contextMenu {
                NavigationLink(destination: TestView()) {
                    Text("Navigate to TestView")
                    Image(systemName: "pencil")
                }
            }
        }
    }
}
目标TestView()只是一个样板“Hello World”视图

如果我没有单击堆栈中关联的图标,这将完全触发导航。但上下文菜单中的同一链接不起作用。 当我在上下文菜单中选择它时,什么也没有发生。也就是说,我可以选择菜单项,但它所做的只是关闭上下文菜单,我保持在同一视图上

还有人找到这个吗?解决了吗?
谢谢

这里是一个可能方法的演示。使用Xcode 12b3/iOS 14进行测试(同样适用于SwiftUI 1.0)


我想那是一只虫子。我不希望NavigationLink在NavigationView之外工作,但contextMenu实际上是一个不同的视图层次结构。在NavigationView中使用NavigationLink(比如在后台不可见),并从contextMenu以编程方式激活。与下一种方法类似,非常感谢您的回复和建议的方法-它也适用于Xcode 12b4。也就是说,当你有许多上下文菜单项时,它可能会变得混乱。令人遗憾的是,在iOS13中工作得如此出色的东西在IOS14中似乎并不存在。感谢在许多菜单项的情况下,您可以使用类似的一个后台导航链接,但使用标记和选择进行初始化,因此每个菜单项都会激活选择,可以是枚举,甚至可以基于该枚举更改目标。。。所以生活并没有那么糟糕:)
struct ContentView: View {
    @State private var showLink = false

    var body: some View {

        NavigationView {
            VStack {
                HStack {
                    Text("I am a text in a HStack ")
                }
                HStack {
                    NavigationLink(destination: Text("TestView")) {
                        VStack {
                            Image(systemName:"gauge")
                                .font(.system(size: 31))
                        }
                    }
                }
            }
            .background(NavigationLink("", destination: Text("TestView"), isActive: $showLink))
            .contextMenu {
                Button(action: { self.showLink = true }) {
                    HStack {
                        Text("Navigate to TestView")
                        Image(systemName: "pencil")
                    }
                }
            }
        }
    }
}