上下文菜单中的导航链接
Posted
技术标签:
【中文标题】上下文菜单中的导航链接【英文标题】:NavigationLink in contextMenu 【发布时间】:2020-04-10 17:14:12 【问题描述】:我一直在 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' 不是。对于解决“栏上下文”导航问题的任何建议,我将不胜感激。
编辑:澄清一下,我想找到一种通过点击“栏”导航到“栏目标”的方法,或者通过点击 contextMenu 中的“栏上下文”导航到“栏上下文目标”。问题似乎是,当“bar”被包裹在 NavigationLink 中时,附加到“bar”的 contextMenu 中的 NavigationLink 不起作用。
谢谢!
【问题讨论】:
【参考方案1】:我已对您的代码进行了更改,以使“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
【讨论】:
谢谢,但我需要在 NavigationLink 中保留“栏”。从“栏”中删除 NavigationLink 确实解决了“栏上下文”的问题,但我需要一种方法来从“栏”和“栏上下文”导航到各自的目的地。 在 xcode 12、ios14 中似乎不再起作用; NavigationLink 不会引导到定义的视图,而是什么也没发生以上是关于上下文菜单中的导航链接的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio 中的 Webview 确实显示了导航菜单和背景徽标
Xcode Beta 6“没有更多上下文的表达式类型不明确”导航链接