关于iOS preferredStatusBarStyle 方法有时候不调用的原因

在iOS开发中,遇到某些页面不能通过`preferredStatusBarStyle`改变状态栏样式的情况,主要是因为这些视图控制器处于`UINavigationController`中,状态栏由导航栏管理。此时需通过设置`UINavigationBar.barStyle`来调整。如果导航栏被隐藏,则可以使用`preferredStatusBarStyle`。示例代码展示了如何设置导航栏风格为黑色和默认样式。

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

不少同学在开发过程中可能会遇到这种情况,有些页面可以调用preferredStatusBarStyle方法改变状态栏样式,有些则不可以。其根本原因是:

当视UIViewController处于UINavigationController中时,状态栏将由导航栏进行管理,所以此时在视图控制器中调用preferredStatusBarStyle时不再生效,需要通过UINavigationBar.barStyle属性来设置。另外,有一种情况,当视图控制器处于导航控制器中,如果导航栏被隐藏,此时可以通过调用preferredStatusBarStyle来设置状态栏样式。

self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

self.navigationController.navigationBar.barStyle = UIBarStyleDefault;


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值