iOS 自定义导航栏 和状态栏
一.更改状态栏颜色 (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 自定义导航栏 和状态栏的更多相关文章
- iOS 自定义导航栏笔记
一.UINavigationBar的结构 导航栏几乎是每个页面都会碰到的问题,一般两种处理方式:1.隐藏掉不显示 2.自定义 1. 添加导航栏 TestViewController * mainVC ...
- 如何控制iOS的导航栏和状态栏的样式
这是一个很常用的开发场景,就是改变导航栏上的文字颜色与背景色,如果你曾有 windows form 开发经验一定会笑我:"卧槽,这有什么好写的,不就是设置两个属性就可以了吗?" 我 ...
- iOS 隐藏导航栏 隐藏状态栏
1导航栏 self.navigationController.navigationBarHidden = YES; 2 状态栏 [[UIApplication sharedApplication] s ...
- iOS 获取导航栏和状态栏的高度
CGRect rect = [[UIApplication sharedApplication] statusBarFrame]; 状态栏的高度: float status height = rec ...
- ios 获取导航栏和状态栏高度,针对iPhoneX
因为iPhoneX的产生,原本的导航栏再也不是44了,那么会出现什么问题呢?在隐藏导航栏的页面,原本的高度要向上调整一个导航栏+状态栏的高度.那么iPhoneX的导航栏高度不是44了,我们需要手动获取 ...
- ios 自定义导航栏,开启侧滑返回手势
自定义一个常用ListViewController .h文件 #import <UIKit/UIKit.h> @interface ListViewController : UIViewC ...
- IOS 自定义导航栏背景
//- (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics NS_AV ...
- iOS 自定义导航栏
参考链接:https://blog.csdn.net/huanglinxiao/article/details/100537988 demo下载地址:https://github.com/huangx ...
- zhuang 定制iOS 7中的导航栏和状态栏
近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这也就意味着导航栏 ...
随机推荐
- IIS报错 未将对象引用设置到对象的实例。
在vs中运行正常的项目 ,发布到IIS总是提示 未将对象引用设置到对象的实例. 运行静态页面 html正常,只是打开.aspx页面的时候报错,在确保了数据库,配置,权限均正常的情况下. 错误原因:先安 ...
- CentOS学习笔记--基本命令--文件与目录管理
Linux基本命令--文件与目录管理 本节节选自鸟哥的 Linux 私房菜 -- 基础学习篇目录 第七章.Linux 文件与目录管理 ls(文件与目录的检视) ls命令就是list的缩写,ls可以 ...
- c#桌面小软件
这是以前练习时用c#做的桌面小软件,今天回顾下. 这是设计界面 可以看出该程序能够播放网络歌曲及浏览新闻. 实现:歌曲来源百度API,播放WindowsMediaPlayer api地址:string ...
- Silverlight - GPU加速
1. 在Silverlight plug-in上设置 <param name="enableGPUAcceleration" value="true" / ...
- 关于Raw,Assets的使用
Raw,Assets下文件区别: 相同点:两个目录下的文件在打包后都会原封不动的保存到apk中,不会被编译成二进制. 不同点:Raw下文件不能使用目录结构, 有些格式的会被压缩,能够通过R.raw方便 ...
- Ksoap2 获取webservice返回值的getResponse() 出现的问题
今天写了一个判断记录重复的webservcie 返回布尔类型 // 判断序列号在数据库是否重复 public static boolean isSerialNumExist(String serial ...
- Pure扩展站--个人博客
作为自己css的练习站:http://1111.oyostar.com/.更新自己扩展pure写的css,外加一些jquery的插件.感谢朋友的空间和子域名!
- java-testng-selenium优化
由于项目中webui测试的需要,是用testng+selenium的方式,其中遇到过几个问题,记录下,方便以后查看 1.重复运行多次case 因为是selenium,所以有的时候需要运行多次,方法是写 ...
- Python学习教程(learning Python)--1.2.1 Python输出语句print基本使用
Python提供很多的内建(built-in)函数,使用者可以不用自己写代码就可以完成一个功能很强大的程序, 在Python里使用最多的(也许是)print函数主要用于用户输出信息. 基本用法:pri ...
- WPF中线性渐变画刷的一个小窍门
最近被项目里面控件的设计搞的死去活来的,大部分的设计都会需要使用进度条的功能,因为UI形状的变态,使用ProgressBar不能满足需求,没办法就自己想办法实现进度显示.折腾的多了发现一个很不错的方法 ...