使用 ToolbarItemGroup 时项目之间留有太多空间

urs*_*526 8 swiftui swiftui-navigationview

当我在 SwiftUI 中使用工具栏组时,元素之间的空间太大。我把它放在HStackiOS 13中,没问题。但是当我将它与 iOS 14 中的工具栏一起放置时,出现了问题。我怎样才能解决这个问题?

var muteUser: some View {
        NavigationLink(destination: Text("dddd").environmentObject(CurrentUser)) {
            Image(systemName: "speaker.slash")
                .frame(width: 22, height: 22)
        }
}
var friendSetting: some View {
        NavigationLink(destination: FriendSettings().environmentObject(CurrentUser)) {
            Image(systemName: "gear")
                .frame(width: 22, height: 22)
        }
}

var body: some View {
    GeometryReader { geometry in
        if #available(iOS 14.0, *) {
            chatView
                .toolbar {
                    ToolbarItem(placement: .principal) {
                        centerNavBar()
                            .frame(maxWidth: geometry.size.width*0.75)
                    }
                    ToolbarItemGroup(placement: .navigationBarTrailing) {
                        muteUser
                        friendSetting
                    }
                }
            
        } else {
            chatView
                .navigationBarItems(trailing:
                                        HStack(){
                                            centerNavBar()
                                            Spacer()
                                            rightNavBar
                                        }
                                        .frame(width: geometry.size.width*0.75)
                                    
                )
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

模拟器屏幕截图

paw*_*222 4

看起来这是标准的外观,里面有两个按钮ToolbarItemGroup

您可以使用HStack

.toolbar {
    ToolbarItem(placement: .principal) {
        Image(systemName: "star.fill")
    }
    ToolbarItem(placement: .navigationBarTrailing) {
        HStack {
            NavigationLink(destination: Text("dddd").environmentObject(CurrentUser)) {
                Image(systemName: "speaker.slash")
                    .imageScale(.large)
            }
            NavigationLink(destination: FriendSettings().environmentObject(CurrentUser)) {
                Image(systemName: "gear")
                    .imageScale(.large)
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)