我一直在使用contextMenu中的NavigationLink进行实验,并且遇到了这个问题:
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
VStack {
Text("foo")
.contextMenu {
NavigationLink(destination: Text("foo context destination")) { //works
Text("foo context")
}
}
.padding(.all)
NavigationLink(destination: Text("bar destination")) { //works
Text("bar")
.contextMenu {
NavigationLink(destination: Text("bar context destination")) { //does not work
Text("bar context")
}
}
}
.padding(.all)
} //VStack
} //NavigationView
} //body
} //ContentView
如代码所示,contextMenu中的NavigationLink似乎适用于“foo context”,而不适用于“bar context”。区别在于,“foo”包装在NavigationLink中,而“bar”则没有。对于使用“栏上下文”导航解决问题的任何建议,我将不胜感激。
编辑:为澄清起见,我想找到一种方法,通过点击“bar”导航到“bar destination”,或者通过在contextMenu中点击“bar context”导航到“bar context destination”。问题似乎是当“bar”包裹在NavigationLink中时,附加到“bar”的contextMenu中的NavigationLink无法正常工作。
谢谢!
最佳答案
我已经对您的代码进行了更改,以使“foo”和“bar”都能正常工作。
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
VStack {
Text("foo")
.contextMenu {
NavigationLink(destination: Text("foo context destination")) { //works
Text("foo context")
}
}
.padding(.all)
Text("bar")
.contextMenu {
NavigationLink(destination: Text("bar context destination")) { //does not work
Text("bar context")
}
}
.padding(.all)
} //VStack
} //NavigationView
} //body
} //ContentView
关于ios - contextMenu中的NavigationLink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61145251/