很多app中可以看到不同与导航栏的状态栏的颜色,他妈的真绕嘴.

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

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

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

简单的实现过程如下:

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

二.自定义 StatusBar 和 NavigationBar 的颜色

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

效果如下:

代码如下:

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

三.隐藏 NavigationBar 和 StatusBar

效果如下:

代码如下:

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

效果如下:

代码如下:

 // 隐藏状态栏  重写prefersStatusBarHidden
- (BOOL)prefersStatusBarHidden
{
return YES; // yes 隐藏
}

四.状态栏字体颜色 白色

代码如下:

方法一:

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

方法二:

 // 状态栏字体 白色 重写preferredStatusBarStyle 方法
- (UIStatusBarStyle)preferredStatusBarStyle
{
// UIStatusBarStyleLightContent 白色
// UIStatusBarStyleDefault 黑色
return UIStatusBarStyleLightContent;
}

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

效果如下:

代码如下:

 //设置导航栏的背景图片
[self.navigationController.navigationBar setTranslucent:YES]; // 设置navigationBar的透明效果
[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

ios 实现自定义状态栏StatusBar 和 导航栏navigationBar 的状态和颜色的更多相关文章

  1. ios --xib自定义,解决在导航栏不透明的情况下,自定义xib view高度被压缩64的问题

    在使用xib自定义view的时候,个人习惯性的直接使用xib中的约束,所以自然而然的要打开Autolayout.以前在使用的时候没有发现什么问题,最近项目中使用的时候突然发现在导航栏透明的情况下,出现 ...

  2. [置顶] bootstrap自定义样式-bootstrap侧边导航栏的实现

    前言 bootstrap自带的响应式导航栏是向下滑动的,有时满足不了个性化的需求,需要做一个类似于android drawerLayout 侧滑的菜单,这就是我要实现的bootstrap自定义侧滑菜单 ...

  3. 自定义bootstrap样式-9行样式自定义漂亮大气bootstrap导航栏

    有人说前端发展太快,框架太多,各有所需,各有所长.看看这幅图,估计都知道这些框架,但是大部分公司中实际要用到的也就那么几个. 发展再快,框架再多.还是得回到原点,不就是Html+Css+JavaScr ...

  4. iOS导航栏NavigationBar的颜色,按钮和标题以及字体颜色

    首先,层级关系: leftBarButtonItem.rightBarButtonItem.title都是加在UINavigationItem上的,UINavigationItem再加在Navigat ...

  5. Android自定义View——实现字母导航栏

    1.自定义View实现字母导航栏 2.ListView实现联系人列表 3.字母导航栏滑动事件处理 4.字母导航栏与中间字母的联动 5.字母导航栏与ListView的联动 1.先看主布局,方便后面代码的 ...

  6. Android 修改底部导航栏navigationbar的颜色

    Android 修改底部导航栏navigationbar的颜色 getWindow().setNavigationBarColor(Color.BLUE); //写法一 getWindow().set ...

  7. 小程序开发-页面导航栏navigation-bar组件

    导航栏navigation-bar 页面导航条配置节点,用于指定导航栏的一些属性.只能是 page-meta 组件内的第一个节点,需要配合它一同使用. 通过这个节点可以获得类似于调用 wx.setNa ...

  8. [iOS微博项目 - 1.1] - 设置导航栏主题(统一样式)

    A.导航栏两侧文字按钮 1.需求: 所有导航栏两侧的文字式按钮统一样式 普通样式:橙色 高亮样式:红色 不可用样式:亮灰 阴影:不使用 字体大小:15   github: https://github ...

  9. iOS开发--隐藏(去除)导航栏底部横线

    iOS开发大部分情况下会使用到导航栏,由于我司的app导航栏需要与下面紧挨着的窗口颜色一致,导航栏底部的横线就会影响这个美观,LZ使用了以下方法.觉得不错,分享来给小伙伴们. 1)声明UIImageV ...

随机推荐

  1. tyvj1192 迎春舞会之集体舞

    背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞会. 描述 表演者排成n排,构成一个向前的正三角形(在屏幕上,即向下).而就每个人,他有可能正面朝前(小的向前正三角形).或向后三角形(小的向后正 ...

  2. Coursera-Getting and Cleaning Data-week4-R语言中的正则表达式以及文本处理

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Thursday, January 29, 2015 补上第四周笔记,以及本次课程总结. 第四周 ...

  3. 在GridView隐藏字段

    在GridView中隐藏一字段,方便这条记录的处理,同时隐藏一个Button实现点击这条记录时的处理 1.绑定 <asp:TemplateField>                    ...

  4. CMake命令/函数汇总(翻译自官方手册)

    查看官方文档 cmake命令 选项 CMake变量 CMake命令汇总 / add_custom_command add_custom_target/add_definitions/add_depen ...

  5. 为Tcl编写C的扩展库

    Tcl是一个比较简洁的脚本语言,官方地址 http://www.tcl.tk. tcl脚本加载C实现的动态库非常方便. 1. 为Tcl编写一个用C实现的扩展函数. #include <stdio ...

  6. js/javascript代码注释规范与示例

    文件注释 文件注释位于文件的最前面,应包括文件的以下信息:概要说明及版本(必须)项目地址(开源组件必须)版权声明(必须)开源协议(开源组件必须)版本号(必须)修改时间(必须),以ISO格式表示(可使用 ...

  7. 分布式中Redis实现Session终结篇

    上一篇使用Redis实现Session共享方式虽然可行,但是实际操作起来却很麻烦,现有代码已经是这个样子了,总不可能全部换掉吧!好吧,这是个很实际的问题,那么能不能实现无侵入式的分布式Session共 ...

  8. LCTT 三岁啦

    导读 不知不觉,LCTT 已经成立三年了,对于我这样已经迈过四张的人来说,愈发的感觉时间过得真快.这三年来,我们 LCTT 经历了很多事情,有些事情想起来仍恍如昨日. 三年前的这一天,我的一个偶发的想 ...

  9. error 502 in ngin php5-fpm

    unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) http://stackoverflow.com/q ...

  10. AngularJS 配置和运行phonecat错误

    安装node.js 就按照入门上的步骤来就行了 第一步:下载安装node.js,并将程序路径添加到环境变量中PATH中 第二步:下载git版本控制软件 第三步:在git目录下点击git-bash.ex ...