在swiftUI目前官方?jīng)]有給出改背景色的借口,所以就要自己寫(xiě)了,更新11.4后發(fā)現(xiàn)一種更好的更改顏色的方法如下
struct MainView: View {
init() {
UINavigationBar.appearance().tintColor = UIColor.init(named: "MainColor2") //強(qiáng)調(diào)色,指尖頭那些
UINavigationBar.appearance().barTintColor = UIColor.init(named: "導(dǎo)航欄顏色") // 導(dǎo)航欄顏色
UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor.white] //導(dǎo)航欄上的title的顏色
//background不建議使用,喜歡可自己嘗試
}
var body: some View {
NavigationView{
List{
} .navigationBarTitle("\(self.Title)",displayMode: .inline)
}
}
}
如果當(dāng)你struct里面有未初始化的對(duì)象時(shí),就不能使用init(),可以如下寫(xiě),當(dāng)然,無(wú)論什么情況都可用以下方法
struct MainView: View {
var body: some View {
NavigationView{
List{
} .navigationBarTitle("\(self.Title)",displayMode: .inline)
}.onAppear(){
UINavigationBar.appearance().tintColor = UIColor.init(named: "MainColor2") //強(qiáng)調(diào)色,指尖頭那些
UINavigationBar.appearance().barTintColor = UIColor.init(named: "導(dǎo)航欄顏色") // 導(dǎo)航欄顏色
UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor.white] //導(dǎo)航欄上的title的顏色
//background不建議使用,喜歡可自己嘗試
}
}
}