iOS13的暗黑模式
iOS13引入了暗黑模式(Dark Appearance)。
模拟器设置暗黑模式:在“设置”-“开发者”中打开“Dark Appearance”。
真机设置暗黑模式:在“设置”-“显示与亮度”中设置外观为深色。
在 iOS 13 中,我们可以通过 UITraitCollection 来判断当前系统的外观模式。UIView 和 UIViewController 、UIScreen、UIWindow 都已经遵从了UITraitEnvironment这个协议,因此这些类都拥有一个叫做 traitCollection的属性,在这些类中,我们可以这样去判断当前 App 的外观模式:
BOOL isDark = (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark);
另外,我们还可以通过 UITraitCollection.current这个属性来获取当前 App 的外观模式。但是并不是所有的时候获取的都是正确的,只有在下面这些方法中,才可以放心的使用这个属性:
- UIView:
draw(), layoutSubview(), traitCollectionDidChange(), tintColorDidChange()
- UIViewController:
viewWillLayoutSubviews(), viewDidLayoutSubviews(), traitCollectionDidChange()
- UIPresentationController:
containerViewWillLayoutSubviews(), containerViewDidLayoutSubviews(), traitCollectionDidChange()
如果应用不想适配暗黑模式,可以先暂时全局关闭暗黑模式:
在 Info.plist 文件中,添加 key 为 User Interface Style,类型为 String,value 设置为 Light即可。
或者直接修改info.plist源文件
<key>UIUserInterfaceStyle</key>
<string>Light</string>
在 iOS 13中,UIView、UIViewController 、UIWindow 有了一个 overrideUserInterfaceStyle的新属性,可以覆盖系统的外观模式。
单个页面或视图关闭暗黑模式,设置 overrideUserInterfaceStyle 为对应的模式,强制限制该视图与其子视图以设置的模式进行展示,不跟随系统模式改变进行改变。
self.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
如果你希望一个子视图监听系统的模式,请将 overrideUserInterfaceStyle 属性设置为UIUserInterfaceStyleUnspecified。
typedef NS_ENUM(NSInteger, UIUserInterfaceStyle) {UIUserInterfaceStyleUnspecified,UIUserInterfaceStyleLight,UIUserInterfaceStyleDark,
} API_AVAILABLE(tvos(10.0)) API_AVAILABLE(ios(12.0)) API_UNAVAILABLE(watchos);
图片适配暗黑模式:
在Images.xcassets中点击图片,选择右边的Image Set,设置Appearances为“Any,Dark”,即可兼容暗黑模式,可以分别设置暗黑模式和正常模式的图片。
iOS 13 以下的系统会默认取Any状态下的设定,iOS 13 会根据系统外观模式取Any或Dark下的设定。
iOS13的暗黑模式相关推荐
- JXTheme:iOS9+换肤/暗黑模式最佳方案之一,轻量级、高度自定义、swift编写
简介 2018年苹果在macOS系统引入了暗黑模式,一经推出广受好评.尤其是我们程序员,经常与代码.文本打交道,亮色风格的界面看久了,眼睛会特别累.有了暗黑模式之后,我们的眼睛终于能被温柔对待了.而且 ...
- (0105)iOS开发之iOS13 暗黑模式(Dark Mode)适配
导读: Material Design & iOS 13 黑暗模式总结探索 暗黑模式苹果开发文档 如何不进行系统切换样式的适配 注意 同一工程内多个Assets文件在打包后,就会生成一个Ass ...
- uniapp和5+app适配苹果iOS13暗黑模式教程
iOS13开始苹果引入了暗黑模式(DarkMode),在黑暗模式下,系统界面配色都会相应变暗,同时App也需要进行适配. HBuilderX2.6.3+版本开始支持对暗黑模式的适配处理. 全局开启暗黑 ...
- iOS开发之iOS13 暗黑模式(Dark Mode)适配
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/shifang07/article/de ...
- iOS13适配之暗黑模式(Dark Mode)
如果是老项目,改动太多,不想适配暗黑模式的话,有个偷懒的方法.或者还没适配完又不想给用户看,可以先暂时全局关闭暗黑模式:在 Info.plist 文件中,添加 key 为 User Interface ...
- 苹果暗黑模式_苹果正式推送iOS13.4、iPadOS更新,微信安卓版暗黑模式来了,手机淘宝出现弹窗Bug,柔宇第二代折叠屏手机发布...
大家好 今天是3月25日 一起来看看今天的科技大新闻 苹果正式推送iOS13.4.iPadOS 更新支持触控板操作 (新浪科技)北京时间3月25日凌晨,苹果公司正式推送了iOS 13.4.iPadOS ...
- iOS13 不使用暗黑模式
网上google搜到的, 关于"不使用暗黑模式"的解决办法都是: 这是写法确实是有效的,但是上传appstore提交审核,会报错App Store Connect Operatio ...
- chrome切换前端模式_H5暗黑模式在京东收银台中的实践
背景 暗黑主题下,用户可以选择采用深色的系统范围外观而不是浅色外观.在暗黑模式下,系统对所有窗口,视图,菜单和控件采用较暗的调色板.谷歌的 Gmail 和 Chrome 浏览器.聊天工具 slack. ...
- 苹果暗黑模式_【蜜茶原创】微信最终妥协苹果,暗黑模式正式上线!
哈喽大家好,海浪老师来啦! 前段时间因为适配的问题,微信被苹果要求必须在限期内适配深色模式,不然App Store会对微信进行下架处理的消息让广大网友炸开了锅. 就在昨天上午,iOS 微信终于发布了新 ...
最新文章
- 图文解说nginx中server的匹配顺序
- [unreal4入门系列之五] 熟悉关卡编辑器界面
- hbase源码系列(五)Trie单词查找树
- python try 异常处理 史上最全
- codevs 1907 方格取数 3
- 关于生命周期函数dealloc的使用小结
- Oracle JOB的建立,定时执行任务
- HTML5查看CAD图纸,看cad图纸软件(DwgSee)怎么打印Cad图纸?
- win10找回windows照片查看器的方法
- 机器学习笔记——乳腺癌鸢尾花分类问题详解(没有直接调包)
- 番茄助手功能及快捷键
- openpose的搭建
- 英特尔提供 Loihi 2 神经形态芯片和软件框架
- 高三计算机教学总结,2021年高三信息技术教学工作总结范文.doc
- Java 求一个数的立方根
- 风力发电控制系统的matlab,基于MATLAB的风力发电系统设计ppt课件
- 六大搜索引擎的中英文网站提交入口
- 带你认识什么是BMS(电池管理系统)
- R1_LiceCap动态图片GIF录制软件
- 数字心理学测试软件,数字心理学——简化问题的工具
热门文章
- PPPoE协议交互过程
- 选购硬盘HDD、SSD、SSHD、IDE、SATA、SCSI、SAS、PCIe、M.2、USB
- Android模仿新浪微博(自定义ListView下拉刷新)
- 烤星 DeFi 课堂 | 去中心化交易所适合小白用吗?
- 【链块技术10期】区块链基础语言(二)——GO语言开发环境搭建
- 失败魔咒下的企业海外并购(ZT)
- 引擎磨合 (Break In) 的秘密
- 爱奇艺自研DRM技术斩获国家级专利奖 持续为内容创作者提供更高等级版权保护...
- 学习matlab(六)——微分和积分
- 苹果 Apple Beta 版软件计划 相关软件地址