修改状态栏样式的两种方式

本文介绍了在iOS应用中切换状态栏样式的两种方法。第一种是在Info.plist设置Status bar style并配合View controller-based status bar appearance来控制。第二种是通过重写视图控制器的preferredStatusBarStyle方法来实现。同时,可以通过[UIApplication sharedApplication].statusBarStyle获取当前状态栏的样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS的状态栏的样式有两种,样式一是UIStatusBarStyleDefault,这是一种暗色系,表现为状态栏上显示的字体、图标风格都是黑灰色的,这种风格主要使用在明亮的背景上;另一种是UIStatusBarStyleLightContent,它跟前面一种风格相反,主要用在暗色的背景上。

我们要做的是如何在程序中自由的切换这两种风格。

这里有两种方式:

方式一:

在Info.plist设置Status bar style,它的value可以设置为UIStatusBarStyleDefaultUIStatusBarStyleLightContent

在iOS7以后,如果只是这么设置是没有任何效果的,同样调用[UIApplication sharedApplication]setStatusBarStyle:这个方法也没有任何效果。为什么?

因为iOS7以后,苹果搞了第二套设置状态栏风格的方式,为了将这两种设置方式划分出来。所以我们还需要在Info.plist添加View controller-based status bar appearance,并设置

它的Value是NO,这个键的意思是令方式二无效,以免混淆。如图:


当设置了View controller-based status bar appearance键之后,方法[UIApplication sharedApplication]setStatusBarStyle:即可使用。


方式二:

为了让方式二在程序中有效,确保Info.plist没有字样View controller-based status bar appearance或者它的值是YES,然后在需要修改状态栏风格的视图控制器中重写preferredStatusBarStyle,返回想要设置的风格样式,如图



获取当前状态的风格样式:

使用[UIApplication sharedApplication].statusBarStyle来获取当前视图控制器中的状态栏的风格样式。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值