事态栏原理深入分析的可比深切,前景部分

作者:编程

推荐一个博客:状态栏原理分析的比较深入:iOS状态栏详解

ios上状态栏 就是指的最上面的20像素高的部分
状态栏分前后两部分,要分清这两个概念,后面会用到:

ios上状态栏 就是指的最上面的20像素高的部分
状态栏分前后两部分,要分清这两个概念,后面会用到:

iOS上状态栏 指最上面的20像素高的部分状态栏分为前后两部分前景部分:显示电池、时间、信号等部分背景部分:显示黑色或者图片的背景部分

必赢,前景部分:就是指的显示电池、时间等部分;
背景部分:就是显示黑色或者图片的背景部分;

前景部分:就是指的显示电池、时间等部分;
背景部分:就是显示黑色或者图片的背景部分;

如下图:

(一)设置statusBar的【前景部分】

(一)设置statusBar的【前景部分】

必赢 1黑底白字

简单来说,就是设置显示电池电量、时间、网络部分标示的颜色, 这里只能设置两种颜色:

简单来说,就是设置显示电池电量、时间、网络部分标示的颜色, 这里只能设置两种颜色:

黑色背景白色字体注意:这里只涉及到ios7以及更高版本,低版本下面的讲解可能无效。

默认的黑色(UIStatusBarStyleDefault)
白色(UIStatusBarStyleLightContent)
可以设置的地方有两个:plist设置里面 和 程序代码里
初始化设置:导航栏设置为不透明并给了"标题"与状态栏文字作对比

默认的黑色(UIStatusBarStyleDefault)
白色(UIStatusBarStyleLightContent)
可以设置的地方有两个:plist设置里面 和 程序代码里
初始化设置:导航栏设置为不透明并给了"标题"与状态栏文字作对比

前景部分:

此处需要先明白一个参数:info.plist中 "View controller-based status bar appearance"字段。 BOOL类型。默认无该参数 。

  • 值为YES时:代表状态栏由ViewController控制。
  • 值为NO时:代表状态栏由Application控制。

先牢记了这个概念。理解学习会加倍进行。

                   self.edgesForExtendedLayout = 0;
                   self.navigationItem.title = @"标题";
                  self.edgesForExtendedLayout = 0;
                  self.navigationItem.title = @"标题";
一 、View controller-based status bar appearance = YES

iOS在UIViewController中提供了几个相关的接口<更多请command+鼠标左键点击进入>

- (nullable UIViewController *)childViewControllerForStatusBarStyle//可以通过这个方法来指定修改哪个控制器上状态栏颜色。下面场景一举例。- (UIStatusBarStyle)preferredStatusBarStyle//控制状态栏的颜色。- prefersStatusBarHidden//控制状态栏显示与隐藏- setNeedsStatusBarAppearanceUpdate//刷行状态栏 如果你需要在状态栏显示后再实时刷新。可以调用这个方法去刷新。该方法会寻找application的rootViewController中的修改状态栏的颜色。

贴上代码:

必赢 2使用Demo

注:有导航栏包裹控制器。

必赢 3

只设置navigationBar不透明和写了一个标题.png

场景一:整个项目为默认黑色,个别控制器为白色。

1. App的根视图为NAV || TAB 时,子类化NAV。重写

本文由必赢娱乐_官网(welcome!)发布,转载请注明来源

关键词: