En iOS SwiftUI, cómo podemos hacer un diseño común para la barra de navegación. Entonces podemos usar eso en todos los proyectos sin volver a escribir el mismo código.
Podemos usar ViewBuilder para crear una vista base para el código común de la siguiente manera:
struct BaseView<Content: View>: View { let content: Content init(@ViewBuilder content: () -> Content) { self.content = content() } var body: some View { // To-do: The most important part will go here } }
¿Cómo podemos agregar el código de barra de navegación en View Builder o Vista base?
Una forma de lograr esto es utilizar una vista personalizada como superposición.
Por ejemplo, considere el siguiente código que crea una barra de navegación personalizada usando superposición:
struct Home: View { var body: some View { ScrollView { // Your Content } .overlay { ZStack { Color.clear .background(.ultraThinMaterial) .blur(radius: 10) Text("Navigation Bar") .font(.largeTitle.weight(.bold)) .frame(maxWidth: .infinity, alignment: .leading) .padding(.leading, 20) } .frame(height: 70) .frame(maxHeight: .infinity, alignment: .top) } } }
El ZStack dentro del .overlay
creará una vista que parece una barra de navegación. Luego puede moverlo a su propia vista de estructura, agregarle diferentes variables y llamarlo desde la superposición.