1.navigationbar 全透明
*// navigationbar *全透明
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.translucent = true
2.导航栏样式修改
*// *导航栏* *样式修改
func navigationBarChange() {
*// *修改导航背景色
self.navigationController?.navigationBar.barTintColor = UIColor.blackColor()
*// *修改导航栏文字颜色
self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
*// *修改导航栏按钮颜色
self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()
*// *修改导航背景图片* *不包含状态栏:*44*点(*88*像素)* *包含状态栏:*64*点*(128*像素)
self.navigationController?.navigationBar
.setBackgroundImage(UIImage(named: "bg"), forBarMetrics: .Default)
}
//导航栏去黑线
navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
navigationController?.navigationBar.shadowImage = UIImage()
3.状态栏修改:
//状态栏白色
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return UIStatusBarStyle.LightContent
}
//隐藏状态栏
override func prefersStatusBarHidden() -> Bool {
return true
}
没有导航栏情况下,状态栏修改
//全局:全工程的状态栏都要变白色:
//1. 在Info.plist中设置UIViewControllerBasedStatusBarAppearance 为NO
//2. 在根视图 启动时候加上下面代码
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent
//局部:只是部分控制器需要修改状态栏文字的颜色:
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return UIStatusBarStyle.LightContent
}
提示:如果在使用导航情况下修改状态栏没有效果,可以重写nv的子类
例如:
class NavigationCustom: UINavigationController{
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return UIStatusBarStyle.Default
}
}
最后记得更改自定义类