¿Cuáles son las diferencias entre los elementos de barra de navigationBarItems y la barra de toolbar en SwiftUI? Los he estado usando indistintamente y siento que están haciendo las mismas cosas con una sintaxis diferente, por ejemplo: poner botones en la barra de navegación (.leading/.trailing).
Como lo mencionó Lorem Ipsum, .toolbar es el camino a seguir. La mayor diferencia es que .navigationBarItems es solo para iOS/iPad OS, mientras que .toolbar funciona en macOS.
Esto hace que sea mucho más fácil crear vistas universales.
Si solo está apuntando a dispositivos móviles, en realidad no hay ninguna diferencia en el resultado en este momento.
.toolbar (de forma predeterminada) mostrará automáticamente el botón en el borde anterior o posterior según la configuración regional.
.toolbar( Button("Edit") { print("Editing ...") } ) Esto mostrará el botón en el borde posterior para los idiomas de izquierda a derecha, o en el borde anterior para los idiomas de derecha a izquierda. Puedes ponerlo donde quieras envolviéndolo en un ToolbarItem() .
.toolbar( ToolbarItem(placement: .navigationBarLeading) { // Button } )Además de lo que se ha dicho: .toolbar requiere iOS 14. Muchos proyectos deben ser compatibles con versiones anteriores de iOS 13 y luego navigationBarItems es la única forma de lograrlo.