Cambiare colore alla NavigationView in SwiftUI
Da quanto ho capito la nuova NavigationView di SwiftUI non permette di modificare il colore; quindi ce la dobbiamo tenere del colore standard.
Oppure, possiamo abilitare la vecchia UINavigationBarAppearance e impostare io nostro colore di sfondo.
Ecco un esempio di codice Swift:
import SwiftUI
struct ContentView: View {
let standard = UINavigationBarAppearance()
@ObservedObject var getBooks = GetBooks();
init() {
standard.configureWithOpaqueBackground()
standard.backgroundColor = .systemGreen
standard.titleTextAttributes = [.foregroundColor: UIColor.white]
UINavigationBar.appearance().standardAppearance = standard
}
var body: some View {
NavigationView {
VStack {
.........
}
.navigationBarTitle(Text("Libri"), displayMode: .inline)
.navigationBarItems(trailing:
HStack {
Button(action: {
}, label: {
Text("Aggiungi")
}).foregroundColor(Color.black)
}
)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView();
}
}
In questo modo abbiamo impostato il "vecchio" stile, dato lo sfondo verder e il titolo bianco.
Sotto abbiamo impostato la scritta del bottone a nero, usando direttamente gli strumenti di SwiftUI.
Se volete aggiungere altro stile al Button, potete farlo seguendo sempre le direttive SwiftUI.
Enjoy!
swift swiftui navigationview uinavigationbarappearance
1 Commenti
ottima segnalazione!
20/03/2020