千家信息网

如何解决iOS7里导航控制器中子控制器设置StatusBar状态失效的问题

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下如何解决iOS7里导航控制器中子控制器设置StatusBar状态失效的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一
千家信息网最后更新 2026年11月03日如何解决iOS7里导航控制器中子控制器设置StatusBar状态失效的问题

小编给大家分享一下如何解决iOS7里导航控制器中子控制器设置StatusBar状态失效的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

第一种方式:全局控制StatusBar

1. 在项目的Info.plist文件里设置UIViewControllerBasedStatusBarAppearance为NO。

2. 使用[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];方法设置颜色。

第二种方式:基于控制器的方式控制StatusBar

1. 在项目的Info.plist文件里设置UIViewControllerBasedStatusBarAppearance为YES。

2.在各个UIViewController里分别控制状态栏的颜色和状态。

通过在控制器里实现以下方法来设置状态栏的颜色状态

- (UIStatusBarStyle)preferredStatusBarStyle

- (BOOL)prefersStatusBarHidden

目前只有两种颜色可选:

UIStatusBarStyleLightContent - 白色字

UIStatusBarStyleDefault - 黑色字

-------------------------

使用第二种方式的问题是,如果一个控制器在UINavigationController内,则上述的控制StatusBar的方法没有被调用。

解决办法:让UINavigationController实现- (UIViewController *)childViewControllerForStatusBarStyle方法。将顶层的控制器返回。这样就可以了。

可以写一个UINavigationController的category,实现该方法。包含到项目里。

- (UIViewController *)childViewControllerForStatusBarStyle

{

return self.topViewController;

}

以上是"如何解决iOS7里导航控制器中子控制器设置StatusBar状态失效的问题"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

控制 控制器 状态 方法 方式 颜色 问题 篇文章 项目 中子 导航 内容 文件 不怎么 全局 办法 只有 大部分 更多 白色 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 新华互联网科技学校 高科技与互联网 中国 科技 互联网 互联网科技公司怎么样 融势互联网科技 一五八零互联网科技 太原新华互联网科技学校怎么样 玖二柒互联网科技公司待遇 栖莱科技互联网股份有限公司 全球顶尖互联网科技公司 湖北码尼互联网科技有限公司电话 厦门千工互联网科技有限公司 亳州好赞互联网科技有限公司 世界互联网领先科技成果获奖 山东子淼互联网科技有限公司 锡山区互联网智能科技产品供应 互联网营销推广黑科技 中国新注册互联网科技 承德科技产业互联网平台 高科技和互联网的现代国家 广州互联网科技公司 易互联网科技有限公司 科技创新互联网企业 互联网金融科技平台 科技伦理 互联网公司 湖南诚度互联网科技有限公司 互联网在线教育科技创业 富国互联网科技002692 风投北京互联网科技 互联网科技大佬云集
0