博客
关于我
iOS13 关闭黑暗模式+状态栏显示问题解决方法
阅读量:396 次
发布时间:2019-03-05

本文共 811 字,大约阅读时间需要 2 分钟。

目录

现象:

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

UIUserInterfaceStyle
Light

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

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

UIViewControllerBasedStatusBarAppearance

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

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

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

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

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

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

更改 info.plist 配置

UIViewControllerBasedStatusBarAppearance

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

- (UIStatusBarStyle)preferredStatusBarStyle{    return UIStatusBarStyleLightContent;}

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

转载地址:http://ujmzz.baihongyu.com/

你可能感兴趣的文章
第4章 最简单的C程序设计——顺序程序设计
查看>>
C#ADO.NET操作数据代码汇总
查看>>
原创企业级控件库之组合查询控件
查看>>
信息系统项目管理系列之七:项目时间管理
查看>>
RDIFramework.NET ━ 9.2 员工管理 ━ Web部分
查看>>
ANDROID : NEW IDEA
查看>>
第1章 什么是JavaScript
查看>>
前端数据渲染及mustache模板引擎的简单实现
查看>>
控制台基于Quartz.Net组件实现定时任务调度(一)
查看>>
Asp.Net Core之Identity应用(下篇)
查看>>
谈谈对IOC及DI的理解与思考
查看>>
【Dubbo】Zookeeper+Dubbo项目demo搭建
查看>>
CSS3中字体平滑处理和抗锯齿渲染
查看>>
Docker教程-介绍Docker与容器化
查看>>
设计模式系列之工厂模式三兄弟(Factory Pattern)
查看>>
vue.js之过渡效果-css
查看>>
mpvue支持小程序的分包加载
查看>>
2020-2021:时间戳
查看>>
推荐书单4.0:测试工程师破局之路
查看>>
jmeter(十二)关联之正则表达式提取器
查看>>