很多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. [Scala] Scala基础知识

    Object An object is a type of class that can have no more than one instance, known in object-oriente ...

  2. C# 发送电子邮件

    网上找到的发送邮件的类,改了一点点,在此谢谢原作者的奉献. 1.源码: public class CSendMail { private MailMessage mailMessage; privat ...

  3. 加载默认图片,如何避免img标签陷入onerror事件死循环

    当图片加载失败的时候,我们可以利用onerror事件赋予它默认图片,但是问题来了,假如默认图片又不存在呢,即加载失败,这个时候就会陷入死循环. 为了避免死循环的情况,我们可以在执行完onerror事件 ...

  4. URL传递中文字符,特殊危险字符的解决方案(仅供参考)urldecode、base64_encode

    很多时候,我们需要在url中传递中文字符或是其它的html等特殊字符,似乎总会有各种乱,不同的浏览器对他们的编码又不一样, 对于中文,一般的做法是: 把这些文本字符串传给url之前,先进行urlenc ...

  5. 优化MySQL数据库性能的八大方法

    本文探讨了提高MySQL 数据库性能的思路,并从8个方面给出了具体的解决方法. 1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就 ...

  6. thinkphp表单自动验证

    ThinkPHP框架表单验证 对注册到test表的表单进行验证 在注册之前要对表单进行验证: 用户名非空验证,两次输入密码必须一致即相等验证,年龄在18~50之间即范围验证,邮箱格式正则验证. 自动验 ...

  7. JavaScript方法——call和apply

    1.相同点: a) 产生的效果或作用完全相同: b) 至少有一个参数: c) 第一个参数必须有且是一个对象(Object),因为就是这个家伙偷懒. 2.不同点: 传递参数的方式. 前提: 1.有两个对 ...

  8. MVC前台页面做登录验证

    最近接触了一个电商平台的前台页面,需要做一个登录验证,具体情况是:当用户想要看自己的订单.积分等等信息,就需要用户登录之后才能查询,那么在MVC项目中我们应该怎么做这个前台的验证呢? 1.我在Cont ...

  9. 25条提高iOS App性能的建议和技巧

    这篇文章来自iOS Tutorial Team 成员 Marcelo Fabri, 他是 Movile 的一个iOS开发者. Check out his personal website or fol ...

  10. Linux之tomcat日志管理

    tomcat 的日志输出catalina.out,变大,可使用下面方式解决. cronolog. http://blog.csdn.net/huang_xw/article/details/61942 ...