swiftui 从菜单按钮打开视图

swiftui open view from menu button

我正在尝试做一些非常基础的事情,但我已经阅读了官方教程,并阅读了数十篇堆栈溢出帖子。我正在尝试从菜单按钮打开 activity。当我这样做时,我确实想要标准导航后退箭头。

var body: some View {
        NavigationView {
            VStack(alignment: .leading) {
                Text("Hello World!")
                            .toolbar {
                ToolbarItem(placement: .primaryAction) {
                    Menu {
                        Button(action: {
                            Activities()
                        }) {
                            Label("Activities", systemImage: "doc")
                        }

“Activities()”是我的观点。当我这样做时,什么也没有发生。我在其他帖子中读到,您也不能在菜单中使用导航 link,如果可以的话就可以了。我如何以编程方式打开视图以使后退箭头起作用?

谢谢

在这种情况下,如果您想打开一个视图但不能直接使用 NavigationLink,您可以在另一个地方使用它并通过状态从按钮以编程方式激活它 属性:

@State private var isShowingDetailView = false
var body: some View {
    NavigationView {
        VStack(alignment: .leading) {
            NavigationLink(destination: Activities(), isActive: $isShowingDetailView) {
                EmptyView()
            }
            Text("Hello World!")
                .toolbar {
                    ToolbarItem(placement: .primaryAction) {
                        Menu {
                            Button(action: {
                                isShowingDetailView = true
                            }) {
                                Label("Activities", systemImage: "doc")
                            }
                        }
                    }
        }
    }
}