前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS13 关闭黑暗模式+状态栏显示问题解决方法

iOS13 关闭黑暗模式+状态栏显示问题解决方法

作者头像
woopDast1
修改2021-01-20 11:12:45
2.2K0
修改2021-01-20 11:12:45
举报
文章被收录于专栏:iOSeriOSer

toc

现象:

iOS13黑暗模式开启后,app显示会出现很多意外显示情况。暂时屏蔽是最好的选择。当开启黑暗模式,且在项目的target对应的info.plist中添加以下设置时(禁用黑暗模式):

代码语言:txt
复制
<key>UIUserInterfaceStyle</key>
<string>Light</string>

app在系统黑暗模式下可以正常显示了。但是仔细看会发现状态栏无法显示!

在项目的target对应的info.plist中添加以下设置:

代码语言:txt
复制
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>

再运行就可以看到状态栏了!

特殊情况(暗色系导航栏)

如果项目中有更改系统导航栏背景色,比如下面代码:

代码语言:txt
复制
self.navigationController.navigationBar.barTintColor = [UIColor blackColor];

//barTintColor 设置时,系统会自动把导航栏设置为半透明,若不想要半透明效果,需要设置 translucent 为 NO
self.navigationController.navigationBar.translucent = NO;

此时状态栏的黑色字体在背景色上会无法显示!

为了可以正常显示状态栏字体,通过作如下设置,即可设置状态栏文字为白色:

更改 info.plist 配置

代码语言:txt
复制
<key>UIViewControllerBasedStatusBarAppearance</key>
	<false/>

在相关控制器重写状态栏样式代码

代码语言:txt
复制
- (UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}

对于常见视图结构( tabbarVC 下多个子导航控制器),可放在自定义导航控制器中(放在 tabbarVC 无效)。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-10-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 现象:
  • 特殊情况(暗色系导航栏)
    • 更改 info.plist 配置
      • 在相关控制器重写状态栏样式代码
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档