一.更改状态栏颜色 (StatusBar)

就是比如导航栏是红色的状态栏是绿色的.

要实现这样的效果其实很简单,就是添加一个背景view.

简单的实现过程如下:

1     // 设置导航颜色  可用
2 [self.navigationController.navigationBar setBarTintColor:[UIColor redColor]];
3 //创建一个高20的假状态栏
4 UIView *statusBarView = [[UIView alloc] initWithFrame:CGRectMake(0, -20, self.view.bounds.size.width, 20)];
5 //设置成绿色
6 statusBarView.backgroundColor=[UIColor greenColor];
7 // 添加到 navigationBar 上
8 [self.navigationController.navigationBar addSubview:statusBarView];

二.自定义 StatusBar 和 NavigationBar 的颜色

再说一下实现导航栏的标题的字体和颜色

效果如下:

代码如下:

1     // Attributes 属性
2 NSDictionary *textAttributes=@{NSForegroundColorAttributeName:[UIColor whiteColor],NSFontAttributeName:[UIFont systemFontOfSize:30]};
3 // 设置导航栏的字体大小 颜色
4 [self.navigationController.navigationBar setTitleTextAttributes:textAttributes];

三.隐藏 NavigationBar 和 StatusBar

效果如下:

代码如下:

1 //    隐藏NavigationBar(导航栏)
2 // [self.navigationController setNavigationBarHidden:YES];
3 [self.navigationController setNavigationBarHidden:YES animated:YES];

效果如下:

代码如下:

1 // 隐藏状态栏  重写prefersStatusBarHidden
2 - (BOOL)prefersStatusBarHidden
3 {
4 return YES; // yes 隐藏
5 }

四.状态栏字体颜色 白色

代码如下:

方法一:

1     // 设置 状态栏 字体白色
2 // 默认黑色 UIBarStyleDefault
3 // 白色 UIBarStyleBlack ; UIBarStyleBlackOpaque ; UIBarStyleBlackTranslucent
4 [self.navigationController.navigationBar setBarStyle:UIBarStyleBlack];
5 //[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

方法二:

1 // 状态栏字体 白色 重写preferredStatusBarStyle 方法
2 - (UIStatusBarStyle)preferredStatusBarStyle
3 {
4 // UIStatusBarStyleLightContent 白色
5 // UIStatusBarStyleDefault 黑色
6 return UIStatusBarStyleLightContent;
7 }

五.设置导航栏的背景图片

效果如下:

代码如下:

1 //设置导航栏的背景图片
2 [self.navigationController.navigationBar setTranslucent:YES]; // 设置navigationBar的透明效果
3 [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"导航栏背景图片"] forBarMetrics:UIBarMetricsDefault];

以上内容参考:

ios开发中UINavigationBar和Status Bar实例应用及隐藏各种bar       //http://www.111cn.net/sj/ios8/90056.htm

IOS 实现自定义的导航栏背景以及自定义颜色的状态栏(支持7.0以及低版本)   //http://www.cnblogs.com/wt616/p/3784717.html

文章出处:http://www.cnblogs.com/ting-miao/p/5559922.html

iOS 自定义导航栏 和状态栏的更多相关文章

  1. iOS 自定义导航栏笔记

    一.UINavigationBar的结构 导航栏几乎是每个页面都会碰到的问题,一般两种处理方式:1.隐藏掉不显示 2.自定义 1. 添加导航栏 TestViewController * mainVC ...

  2. 如何控制iOS的导航栏和状态栏的样式

    这是一个很常用的开发场景,就是改变导航栏上的文字颜色与背景色,如果你曾有 windows form 开发经验一定会笑我:"卧槽,这有什么好写的,不就是设置两个属性就可以了吗?" 我 ...

  3. iOS 隐藏导航栏 隐藏状态栏

    1导航栏 self.navigationController.navigationBarHidden = YES; 2 状态栏 [[UIApplication sharedApplication] s ...

  4. iOS 获取导航栏和状态栏的高度

    CGRect rect = [[UIApplication sharedApplication] statusBarFrame]; 状态栏的高度: float status height =  rec ...

  5. ios 获取导航栏和状态栏高度,针对iPhoneX

    因为iPhoneX的产生,原本的导航栏再也不是44了,那么会出现什么问题呢?在隐藏导航栏的页面,原本的高度要向上调整一个导航栏+状态栏的高度.那么iPhoneX的导航栏高度不是44了,我们需要手动获取 ...

  6. ios 自定义导航栏,开启侧滑返回手势

    自定义一个常用ListViewController .h文件 #import <UIKit/UIKit.h> @interface ListViewController : UIViewC ...

  7. IOS 自定义导航栏背景

    //- (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics NS_AV ...

  8. iOS 自定义导航栏

    参考链接:https://blog.csdn.net/huanglinxiao/article/details/100537988 demo下载地址:https://github.com/huangx ...

  9. zhuang 定制iOS 7中的导航栏和状态栏

    近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这也就意味着导航栏 ...

随机推荐

  1. 安装minicom串口访问开发板

    1. 安装minicom yum install minicom   2. 设置minicom minicom -s 选择“Serial port setup”,将“Serial Device”修改成 ...

  2. [系统]制作老毛桃U盘WinPE

    准备工作,1G以上的U盘一个, Winpe 工具一个,个人推荐老毛桃winpe Ghost镜像文件(这个不用说了吧,能想到U盘装系统肯定都知道的) 可以开始了:插入U盘(最好把U盘里的东西清空,自己保 ...

  3. Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)

    E文好的可以直接看https://github.com/loresoft/EntityFramework.Extended 也可以在nuget上直接安装这个包 1.先更新VS的NuGet版本http: ...

  4. CentOS用户权限管理--su与sudo

    Linux权限管理--su与sudo 1.su用来切换登录的用户,比如当前用户为chen,可以用su zhu,并输入用户zhu的登录密码,就可以切换到用户zhu.如果一个普通用户想切换到root用户, ...

  5. scala实现Netty通信

    在学习spark源码的时候看到spark在1.6之后底层的通信框架变成了akka和netty两种方式,默认的是用netty根据源码的思路用scala写了一个Demo级别的netty通信 package ...

  6. 不加班的实践(1)——这真的该用try-catch吗?

    前言 我有个技能,就是把“我”说的听起来特别像“老子”. 以前是小喽啰的时候,会跟领导说“我!不加班.”,听起来就像“老子不加班!”一样.到最后发现,我确实没有把计划内的工作拖到需要加班才能完成,这个 ...

  7. php 执行事务的时候pdo出现问题

    新版本的pdo会有这个问题: General error: 2014 Cannot execute queries while other unbuffered queries are active. ...

  8. 2013-10-25笔记,css: mini-width, 标准居中,样式中*号使用,背景图像位置定位

    mini-width:设置元素的最小宽度.該屬性值會對元素的寬度設置一個最小限制.因此,元素可以比制定值寬,但不能比制定值窄.不允許指定負值. 完美的居中佈局: body{text-align: ce ...

  9. 菜鸟的js学习笔记

    学的越多感觉不会的越多.php+mysql学了点皮毛.知道搞web的是要会js的于是开始结合公司的项目开始学习js之旅(http://www.w3school.com.cn/b.asp) $(docu ...

  10. 第十二章 管理类型(In .net4.5) 之 操作字符串

    1. 概述 本章包括 字符串基本操作 以及 查找.遍历.格式化字符串. 2. 主要内容 2.1 在.net平台中使用字符串 C#中,string是用来保存文本信息的.是一个被当做值类型使用的引用类型. ...