一.更改状态栏颜色 (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. PayPal 开发详解(五):创建第一个应用,获取clientId和clientSecret

    1.创建APP 2.填写应用名称->创建应用 3.获取 clientId 和 clientSecret

  2. 判断手机,pc方式登录

     <script type="text/javascript">         function browserDetect() {             var  ...

  3. 瀑布流ListView

    前言 终于忙完了一段时间,现在前段时间写的一个瀑布流ListView到想法分享下,这个东西是扩展自Listview,当列表内容拉到最后后触发刷新操作,以便抓取更多到数据. 先贴下整个代码,先有个整体到 ...

  4. C(++)基于websocket实时通信的实现—GoEasy

    c(++) websocket实时消息推送 在这里我记录一下之前如何实现服务器端与客户端实时通信: 实现步骤如下: 1.        获取GoEasy appkey. 在goeasy官网上注册一个账 ...

  5. Java do while求和

    用do while结构求0~100的整数数字之和. 代码如下: public class DoWhileDemo { public static void main(String[] args) { ...

  6. Android之Selector、Shape介绍

    ------------整理自网络---------------------- <?xml version=”1.0″ encoding=”utf-8″?> <shape xmlns ...

  7. Python2安装说明

    1.Python版本 Python 2.x的版本的,被称为Python2:是目前用的最广泛的,比如Python 2.7.12. Python 3.x的版本的,被称为Python3:是最新的版本的,比如 ...

  8. Python核心编程--学习笔记--6--序列(下)列表、元组

    11 列表 类似于C语言的数组,但是列表可以包含不同类型的任意对象.列表是可变类型. 创建列表——手动赋值.工厂函数: >>> aList = [12, 'abc'] >> ...

  9. sizeclass

    横竖9种组合,代表所有大小屏幕,在storyboard中可以把contrans与不同组合绑定,也就是说,可能横向有多一个约束,纵向就没了... 实现不同屏幕不同约束,这应该是sizeclass 的存在 ...

  10. [div+css布局]命名规则

    //首页可能碰到的 页头:header登录条:loginBar标志:logo侧栏:sideBar广告:banner导航:nav子导航:subNav菜单:menu子菜单:subMenu搜索:search ...