Change SwiftUI NavigationBar background color per screen.
For NavigationBarColor
to work, you have to set the NavigationBar's background to be transparent.
If you want to change the navigation bar's text color, you have to set it here as well.
import SwiftUINavigationBarColor
...
NavigationView {
VStack {
Text("Hello, world!").padding()
}
}.navigationTransparentBar(tintColor: .white) // mandatory
After that, we can set the NavigationBar's background for each screen.
VStack {
Text("Hello, Red!").padding()
}.navigationBarBackground {
Color.red.shadow(radius: 1) // don't forget the shadow under the opaque navigation bar
}
To run the example project, clone the repo, and run pod install
from the Example directory first.
ios 14
NavigationBarColor is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'NavigationBarColor'
Hai Feng Kao, [email protected]
NavigationBarColor is available under the MIT license. See the LICENSE file for more info.