SwiftUI `navigationBarItems` vs `toolbar`有什么区别?

cpjpxq1n  于 2023-03-22  发布在  Swift
关注(0)|答案(3)|浏览(195)

SwiftUI中的navigationBarItemstoolbar有什么区别?我一直在交替使用它们,感觉它们用不同的语法做同样的事情,例如:在navigationBar(.leading/.trailing)上放置按钮。

e4eetjau

e4eetjau1#

正如Lorem Ipsum所提到的,.toolbar是前进的方向。最大的区别是.navigationBarItems仅适用于iOS/iPad操作系统,而.toolbar也适用于macOS。
这使得创建通用视图更加容易。
如果你只是针对移动的设备,目前的结果并没有什么不同。

cfh9epnr

cfh9epnr2#

.toolbar将(默认情况下)根据区域设置自动在前沿或后沿显示按钮。

.toolbar{
    Button("Edit") {
        print("Editing ...")
    }
}

如果是从左到右的语言,这个按钮会显示在后沿,如果是从右到左的语言,这个按钮会显示在前沿。你可以把它放在你想要的地方,用ToolbarItem() Package 它。

.toolbar{
    ToolbarItem(placement: .navigationBarLeading) {
        // Button
    }
}
e5nqia27

e5nqia273#

除了已经说过的以外:.toolbar需要iOS 14。许多项目需要向后兼容iOS 13,而navigationBarItems是实现这一目标的唯一途径

相关问题