Swiftui 如何在navigationBarItems中对齐动态按钮

Swiftui 如何在navigationBarItems中对齐动态按钮,swiftui,Swiftui,我试图在导航栏的尾部创建一个自定义菜单(基于编辑模式的动态菜单)。我需要3个按钮在“查看”模式,只有一个在“编辑”模式 问题是我无法将按钮向右对齐,如下所示: 如您所见,“完成”按钮位于左侧 我试着添加间隔符(),但没有成功 .navigationBarItems( leading: BackButton(label: "") { self.presentation.wrappedValue.dismiss() }, t

我试图在导航栏的尾部创建一个自定义菜单(基于编辑模式的动态菜单)。我需要3个按钮在“查看”模式,只有一个在“编辑”模式

问题是我无法将按钮向右对齐,如下所示:

如您所见,“完成”按钮位于左侧

我试着添加间隔符(),但没有成功

.navigationBarItems(
        leading: BackButton(label: "") {
            self.presentation.wrappedValue.dismiss()
        },
        trailing:
            HStack {
                if self.mode?.wrappedValue == .inactive {
                    HStack(alignment: .center, spacing: 20) {
                        Button(action: {
                            ////////
                        }) {
                            Image(systemName: "trash")
                            .imageScale(.large)
                        }
                           ////////
                        Button(action: {

                        }) {
                            Image(systemName: "square.and.arrow.up")
                            .imageScale(.large)

                        }

                        CustomEditButton() {
                            ////////
                        }
                    }
                } else {
                    HStack {
                        CustomEditButton() {
                            /////
                        }
                    }
                }
            }

    )
同样的问题。条件语句内部或外部的间隔符()无效。 我注意到,当从NavigationLink屏幕弹出返回视图时,对齐是固定/正确的,尽管。。。 在任何情况下,我使用不透明性使其在我的终端工作,这取决于驱动更改的条件。 在您的情况下,解决方案可能如下所示:

.navigationBarItems(
        leading: BackButton(label: "") {
            self.presentation.wrappedValue.dismiss()
        },
        trailing:
            ZStack {
                HStack(alignment: .center, spacing: 20) {
                    Button(action: {
                        ////////
                    }) {
                        Image(systemName: "trash")
                        .imageScale(.large)
                    }
                    Button(action: {
                       ////////
                    }) {
                        Image(systemName: "square.and.arrow.up")
                            .imageScale(.large)
                    }
                    CustomEditButton() {
                        ////////
                    }
                }
                .opacity((self.mode?.wrappedValue == .inactive) ? 1.0 : 0.0)

                HStack {
                    CustomEditButton() {
                        /////
                    }
                }
                .opacity((self.mode?.wrappedValue == .inactive) ? 0.0 : 1.0)
            }
    )

SwiftUI bug,请向苹果提交反馈。我做到了。我很好奇他们需要多长时间才能得到他们通常不需要的答案,但这有可能在下一个版本中得到修复。