ContextMenu 中的 NavigationLink 在 iOS14 xcode12 beta3 中不再有效?
NavigationLink in ContextMenu no longer working in iOS14 xcode12 beta3?
想知道是否还有其他人遇到此问题,以及是否已找到解决方法。这在 iOS 13 中工作正常,但在 iOS 14 中似乎已损坏。
我只是想将 NavigationLink 从 .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")
}
}
}
}
}
Destination TestView() 只是一个样板“Hello World”视图。
如果我点击的不是堆栈中关联的图标,这会完美触发导航。但是上下文菜单中的相同 link 却没有。
当我在上下文菜单中 select 它时,没有任何反应。也就是说,我可以 select 菜单项,但它所做的只是关闭上下文菜单,而我停留在同一视图上。
还有其他人发现这个吗?解决了吗?
谢谢
这是一个可能的方法演示。使用 Xcode 12b3 / iOS 14 测试(对 SwiftUI 1.0 也有效)
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")
}
}
}
}
}
}
想知道是否还有其他人遇到此问题,以及是否已找到解决方法。这在 iOS 13 中工作正常,但在 iOS 14 中似乎已损坏。 我只是想将 NavigationLink 从 .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")
}
}
}
}
}
Destination TestView() 只是一个样板“Hello World”视图。
如果我点击的不是堆栈中关联的图标,这会完美触发导航。但是上下文菜单中的相同 link 却没有。 当我在上下文菜单中 select 它时,没有任何反应。也就是说,我可以 select 菜单项,但它所做的只是关闭上下文菜单,而我停留在同一视图上。
还有其他人发现这个吗?解决了吗? 谢谢
这是一个可能的方法演示。使用 Xcode 12b3 / iOS 14 测试(对 SwiftUI 1.0 也有效)
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")
}
}
}
}
}
}