更改 iPad 上的工具栏项目位置

Changing the toolbar item placement on iPad

我们以快捷方式应用程序为例。

在 iOS 应用程序上:

在 iPadOS 应用程序上:

如您所见,工具栏项目在 iPhone 上位于 .navigationBarTrailing,但在 iPad 上移至 .navigationBarLeading

我的代码如下所示:

struct ContentView: View {
    var body: some View {
        NavigationView {
            Text("This is a test app.")
                .navigationTitle("All Shortcuts")
                .toolbar {
                    ToolbarItemGroup(placement: .navigationBarTrailing) {
                        Button("Select") {
                            // Do something...
                        }
                        
                        Button(action: {
                            // Do something else...
                        }) {
                            Label("Some Other Action", systemImage: "plus")
                        }
                    }
                }
        }
    }
}

这在 iPhone 上按预期工作,但在 iPad 上,工具栏项目出现在工具栏的尾端。我希望工具栏项目在 iPhones 的尾端和 iPads 的前端,就像快捷方式应用程序一样。我怎样才能实现这种行为?

您可以查看使用的设备类型:

ToolbarItemGroup(placement: UIDevice.current.userInterfaceIdiom == .pad ?
                           .navigationBarLeading : .navigationBarTrailing) {