改变状态栏颜色html5,iOS改变状态栏颜色

在默认情况下,APP的状态栏和进入后的启动页状态栏都是黑色,但由于业务需求有时会需要改变状态栏的颜色,在此总结一下比较常用的几种情况

一、没有包装导航控制器

所有页面皆为白色

1.第一种方式

在项目的** Info.plist **文件里增加一项 View controller-based status bar appearance = NO,如下图:

b27a3a96ab2f

其中的** Status bar style **项可在项目的General中设置,也可自己修改

b27a3a96ab2f

完成以上的修改后,项目的状态栏就变为了白色

2.第二种方式

在根控制器里添加如下代码(我这里以tabBarController为例):

- (UIStatusBarStyle)preferredStatusBarStyle {

return UIStatusBarStyleLightContent;

}

- (UIViewController *)childViewControllerForStatusBarStyle {

return self.tabBarController;

}

b27a3a96ab2f

所有tabBar的子控制器状态栏都变为了白色

b27a3a96ab2f

某个页面为白色

在需要变白的控制器里添加如下代码:

- (UIStatusBarStyle)preferredStatusBarStyle {

return UIStatusBarStyleLightContent;

}

二、包装了导航控制器

所有页面皆为白色

如果也有tabBarController的话,上面的第二种方式同样适用。

其他方式:

a. 同没包装导航控制器的第一种方式一样,设置好下图中的两项即可。

b27a3a96ab2f

b. 同样需要设置好 View controller-based status bar appearance = NO ,然后在AppDelegate.m里输入[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;同样可以使状态栏变白。

某个页面为白色

在导航控制器.m文件中输入以下代码:

- (UIViewController *)childViewControllerForStatusBarStyle{

return self.topViewController;

}

然后在需要变白的控制器.m里去输入以下代码:

- (UIStatusBarStyle)preferredStatusBarStyle {

return UIStatusBarStyleLightContent;

}

完成这两步操作后即可实现,效果如下:

b27a3a96ab2f

最后

并非只有以上的方法才能实现状态栏变白的效果,此处只介绍了我自己在实际中用到的一些方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值