SwiftUISwiftUI学习笔记

navigationBarTitle背景色,title颜色改变

2020-03-30  本文已影响0人  Attempt_30b7

在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不建议使用,喜欢可自己尝试
}
                     
}
}
上一篇 下一篇

猜你喜欢

热点阅读