【发布时间】:2020-08-04 11:03:39
【问题描述】:
想知道其他人是否有此问题,以及是否找到了解决方法。这在 iOS 13 中运行良好,但在 iOS 14 中似乎坏了。 我只是想从 .contextMenu 触发 NavigationLink 到另一个视图。
我的代码如下。
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”视图。
如果我单击的不是堆栈中关联的图标,则会完美触发导航。但是上下文菜单中的相同链接没有。 当我在上下文菜单中选择它时,什么也没有发生。即我可以选择菜单项,但它所做的只是关闭上下文菜单并且我停留在同一个视图上。
还有人发现这个吗?解决了吗? 谢谢
【问题讨论】:
-
我认为这是一个错误。我不希望 NavigationLink 会在 NavigationView 之外工作,但 contextMenu 确实是一个不同的视图层次结构。在 NavigationView 中使用 NavigationLink(例如在后台不可见)并从 contextMenu 以编程方式激活。类似于下一个方法stackoverflow.com/a/61181490/12299030
标签: swiftui contextmenu swiftui-navigationlink ios14 xcode12