iOS13以后,用户能够一键把iPhone的主题色设为深色模式,对于咱们开发者来讲,理论上咱们的App须要再作一套深色模式下的UI,对于一些自定义比较多的App来讲简直就是噩梦。前端
好比如下这些状况:web
App的某些页面或所有页面都是webview作的,再作一套UI的话前端大哥甩手不干;或者页面里的字体颜色背景颜色不是用的苹果原生color。bash
总之就是不想搞两套UI。ide
让用户不管是在浅色仍是深色模式下,咱们App的UI始终不变字体
1.全局(所有页面都只用一种UI):spa
在info.plist里面加一个key:UIUserInterfaceStyle
,把他的值设为Light
或Dark
code
2.部分页面:cdn
override func viewDidLoad() {
super.viewDidLoad()
if #available(iOS 13.0, *) {
overrideUserInterfaceStyle = .light
//overrideUserInterfaceStyle = .dark
}
}
复制代码
注:若是你的App只面向iOS13或以上的话,能够去掉if #available(iOS 13.0, *){}
blog