iOS 状态栏更改颜色

iOS 状态栏更改颜色,第1张

    1.状态栏在普通iPhone上高度是20.但是在iPhone X上是44.

    * 注意:iPhoneX导航栏高度是 44 + 44

    2.状态栏字体颜色

            2.1:黑色: UIStatusBarStyleDefault (默认)

            2.2:白色: UIStatusBarStyleLightContent

方法一 : 在 info.plist 中,将 View controller-based status bar appearance 设为 NO   

1.全局的设置 在app delegate中设置状态栏颜色:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent

2.全局隐藏状态栏(会往上移动状态栏的高度,一般不会全局隐藏它)

 [UIApplication sharedApplication].statusBarHidden = YES

方法二:

在 info.plist 中,将 View controller-based status bar appearance 设为 YES (默认值就是YES),或者没有设置。 (建议使用方法一,这个方法我没用过) 

如果值为YES。方法一的设置方法则无效,用下面方法

//在基类的Navigation中设置全局颜色,但是隐藏nav的颜色会不更改

//在VC中设置

//获取高度,然后在特殊界面根据状态栏高度适配

//statusBar高度

链接2

1.首先在plist文件里 添加Application requires iPhone environment   然后设置成 NO (如果不添加 默认是yes,是yes的时候是另外一种状态栏的设置方式,我设置了 没成功 ,可能是我哪里设置的不对,所以这种方法不介绍了)。

2. 在Appdelegate文件里设置 主要的颜色。

如果你的界面大多数界面 需要黑的的状态栏: [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault

如果需要白色状态栏: [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent

3.在个别界面 修改状态栏

-(void)viewWillAppear:(BOOL)animated{  

        [superviewWillAppear:animated]

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent

}

返回上层界面的时候在viewDidDisappear改回成原来的颜色

-(void)viewDidDisappear:(BOOL)animated{

    [superviewDidDisappear:animated]

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent

}

当然你也可以根据其他条件判断,然后修改成你想要的颜色。

注意: Application requires iPhone environment 的值为 YES 的时候  [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent  这样设置不起作用 。

希望能帮到你。

另外,如果状态栏不显示注意下是不是plist文件里给设置隐藏了


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7035573.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-31
下一篇2023-03-31

发表评论

登录后才能评论

评论列表(0条)

    保存