如何使用 SwiftUI 将上下文菜单添加到 NavigationLink?
Posted
技术标签:
【中文标题】如何使用 SwiftUI 将上下文菜单添加到 NavigationLink?【英文标题】:How to add Context Menu into NavigationLink using SwiftUI? 【发布时间】:2021-07-19 09:31:38 【问题描述】:我正在尝试使用以下代码将 contextMenu 添加到 NavigationLink:
NavigationLink(recent.name, destination: TextEditing(isNew: false, fileName: recent.name)).contextMenuButton("Rename")
// code
,但我收到 swift 编译器错误:编译器无法在合理的时间内对该表达式进行类型检查;尝试将表达式分解为不同的子表达式
【问题讨论】:
【参考方案1】:尝试将要执行的代码放在视图结构中的单独函数中,然后从上下文菜单中调用它:
// put this in your view struct
func action()
// code to run your menu action
然后从上下文菜单中调用它
NavigationLink(recent.name, destination: TextEditing(isNew: false, fileName: recent.name)).contextMenu
Button("Rename", action: action)
【讨论】:
以上是关于如何使用 SwiftUI 将上下文菜单添加到 NavigationLink?的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI 上下文菜单是不是使用 LayoutConstraints?