Swiftui 上下文菜单中的NavigationLink不再在iOS14 xcode12 beta3中工作?
想知道是否还有其他人存在此问题,以及是否找到了解决方法。这在iOS 13中运行良好,但在iOS 14中似乎不正常。 我只是想从.contextMenu中弹出一个指向另一个视图的导航链接 我的代码如下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 {
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")
}
}
}
}
}
}