改变顶部状态栏显示颜色和UINavigationBar背景色

项目中需要将navigationBar背景设置成绿色,状态栏文字设置成白色,效果图如下:


改变顶部状态栏显示颜色和UINavigationBar背景色_第1张图片
效果图

一般我直接在appdelegate中将navigationBar设置成全局,这样无论哪个页面都是一样的风格,代码如下

private func configNavigationBarStyle(){  
        UINavigationBar.appearance().translucent = false
        UINavigationBar.appearance().barTintColor = themeColor
        UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor(), NSFontAttributeName: UIFont(name: APP_GLOBAL_FONT_BOLD_NAME, size: 18.0)!]
        //设置后退按钮文字的颜色
        UINavigationBar.appearance().tintColor = UIColor.whiteColor()   
        //自定义后退按钮
        let backButtonImage = UIImage(named: "NavBackItem")?.resizableImageWithCapInsets(UIEdgeInsetsMake(0, 39, 0, 0))
        UIBarButtonItem.appearance().setBackButtonBackgroundImage(backButtonImage, forState: UIControlState.Normal, barMetrics: UIBarMetrics.Default)
        //不显示后退按钮文字
        UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffset(horizontal: CGFloat.max, vertical: CGFloat.max), forBarMetrics: UIBarMetrics.Default)
}
//其中需要用到的themeColor和APP_GLOBAL_FONT_BOLD_NAME我定义在了config.swift文件中,
let themeColor = UIColor(hexString:"#32b847")! //主题色
let APP_GLOBAL_FONT_BOLD_NAME = "STHeitiSC-Medium" //主题字体

接下来就是设置状态栏的字体颜色了,不用写一句代码,只需要在plist文件中,添加一个字段就可以,如图:

状态栏设置

你可能感兴趣的:(改变顶部状态栏显示颜色和UINavigationBar背景色)