SwiftUI ContextMenu 导航到另一个 View

标签 swiftui

我正在尝试使用以下代码获取上下文菜单以导航到另一个 View

var body: some View
{
    VStack
    {
        Text(self.event.name).font(.body)
        ...
        Spacer()
        NavigationLink(destination: EditView(event: self.event))
        {
            Image(systemName: "pencil")
        }
    }
    .navigationBarTitle(Text(appName))
    .contextMenu
    {
        NavigationLink(destination: EditView(event: self.event))
        {
            Image(systemName: "pencil")
        }
    }
}
NavigationLinkVStack按预期工作并导航到编辑 View ,但我想使用 contextMenu .虽然上下文菜单显示图像,但当我点击它时,它不会导航到编辑 View ,而是只是取消上下文菜单。

我正在 watch 应用程序中执行此操作,但不认为这应该有所作为,我与上下文菜单导航有什么特别的关系吗?

最佳答案

在 Xcode 11.4 中,现在可以使用明智的 NavigationLink 来做到这一点。纽扣。好极了! 🎉

.contextMenu {
    NavigationLink(destination: VisitEditView(visit: visit)) {
        Text("Edit visit")
        Image(systemName: "square.and.pencil")
    }
    NavigationLink(destination: SegmentsEditView(timelineItem: visit)) {
        Text("Edit individual segments")
        Image(systemName: "ellipsis")
    }
}

关于SwiftUI ContextMenu 导航到另一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58271509/

相关文章:

ios - subview 模型的计算属性不会更新父 View 模型的 @ObservedObject

swiftui - SwiftUI 中的 MPMediaPickerController?

ios - 如何在带有图像的 SwiftUI 中使用 Bundle

ios - 在 SwiftUI 中使用协调器模式时未调用 CNContactViewControllerDelegate

ios - RealmSwift : Implementing one time login with MongoDB Realm in swift

ios - 对齐指南()不覆盖 subview

SwiftUI:从 NavigationView 打开 CNContactViewController?

xcode - SwiftUI - 使 mac 无法使用

ios - 在 SwiftUI 中动画完成后隐藏和显示 View

firebase - SwiftUI:从 DetailView 更新 Firestore