在swiftUI目前官方没有给出改背景色的借口,所以就要自己写了,更新11.4后发现一种更好的更改颜色的方法如下
struct MainView: View {
init() {
UINavigationBar.appearance().tintColor = UIColor.init(named: "MainColor2") //强调色,指尖头那些
UINavigationBar.appearance().barTintColor = UIColor.init(named: "导航栏颜色") // 导航栏颜色
UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor.white] //导航栏上的title的颜色
//background不建议使用,喜欢可自己尝试
}
var body: some View {
NavigationView{
List{
} .navigationBarTitle("\(self.Title)",displayMode: .inline)
}
}
}
如果当你struct里面有未初始化的对象时,就不能使用init(),可以如下写,当然,无论什么情况都可用以下方法
struct MainView: View {
var body: some View {
NavigationView{
List{
} .navigationBarTitle("\(self.Title)",displayMode: .inline)
}.onAppear(){
UINavigationBar.appearance().tintColor = UIColor.init(named: "MainColor2") //强调色,指尖头那些
UINavigationBar.appearance().barTintColor = UIColor.init(named: "导航栏颜色") // 导航栏颜色
UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor.white] //导航栏上的title的颜色
//background不建议使用,喜欢可自己尝试
}
}
}