如圖条舔,是個(gè)很簡明的 UITabBarController 分出3個(gè) UINavigationController,每個(gè) UINavigationController 再跟一個(gè) UITableViewController 的結(jié)構(gòu)卿叽。
TabBar 和 NavigationBar 都是以淺海藍(lán)色為背景,文字和按鈕為白色的設(shè)計(jì)固以。
因?yàn)?TabBar 只有一個(gè)掂僵,直接在 UITabBarController 的代碼里寫下面這段就可以
(globalBarTintColor是我自定義的淺海藍(lán)色,后面還會(huì)出現(xiàn))
self.tabBar.tintColor = UIColor.whiteColor()
self.tabBar.barTintColor = globalBarTintColor
然而 NavigationBar 有三個(gè)昆码,甚至還會(huì)更多气忠,一個(gè)個(gè)分別去設(shè)定顏色顯然耦合性不夠低,改起來也很麻煩赋咽。
下面給出一種全局統(tǒng)一設(shè)定的方法旧噪,寫在 AppDelegate 文件的 didFinishLaunchingWithOptions 方法里:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// NavigationBar 顏色,全局設(shè)定
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
UINavigationBar.appearance().titleTextAttributes =
[NSForegroundColorAttributeName:UIColor.whiteColor()]
UINavigationBar.appearance().barTintColor = globalBarTintColor
return true
}
這樣做的另外一個(gè)好處是脓匿,可以直接改掉上圖圈出來的 NavigationBar 自帶按鈕的顏色淘钟,如果你直接嘗試在某個(gè) ViewController 里寫
self.navigationController!.navigationBar.tintColor = UIColor.whiteColor()
這個(gè)按鈕的顏色貌似是改不掉的(據(jù)我剛剛嘗試,是這樣的)陪毡。
最后:
可以看出米母,上面的寫法,直接是在設(shè)定 UINavigationBar 這個(gè)類的屬性毡琉,所以依此類推铁瞒,其他各種UI效果應(yīng)該都可以這樣全局設(shè)定。