iOS13适配简介

iOS13适配简介

iOS 13系统开发者版本已经公布,公测版本会在7月份放出,正式版本会在9月份更新,9月份的正式版更新时间预计为苹果9月秋季发布会之后的一周内,按照往年的习惯,正式版的推送时间和新iPhone的发售时间是基本一致的,对于大多数的普通用户来说,9月份的正式版才可以获得iOS13的更新。

WWDC2019

Implementing Dark Mode on iOS

https://developer.apple.com/videos/play/wwdc2019/214/

文档

https://developer.apple.com/documentation/uikit/appearance_customization/adopting_ios_dark_mode?language=objc

视频流地址:

https://devstreaming-cdn.apple.com/videos/wwdc/2019/214iqtpuhih53fw2/214/hls_vod_mvp.m3u8

iOS13 darkmode 相关,主要有以下变化:

支持 Dark Mode 

UIColor变为动态颜色

更新StatusBar样式

更新UIActivityIndicatorView样式

~PS: 2、3、4的变化主要还是support 1【dark mode】

相应的适配工作

一、Dark Mode 之颜色&图片适配 产品设计关注

颜色适配

iOS13系统提供了一些动态颜色 

@property(class,nonatomic,readonly)UIColor*systemBackgroundColor                  API_AVAILABLE(ios(13.0))API_UNAVAILABLE(tvos, watchos);

@property(class,nonatomic,readonly)UIColor*secondarySystemBackgroundColor          API_AVAILABLE(ios(13.0))API_UNAVAILABLE(tvos, watchos);

@property(class,nonatomic,readonly)UIColor*tertiarySystemBackgroundColor          API_AVAILABLE(ios(13.0))API_UNAVAILABLE(tvos, watchos);

……

iOS13 之前 UIColor只能表示一种颜色,而从 iOS13 开始UIColor是一个动态的 颜色,在Light Mode和Dark Mode可以分别设置不同的颜色。

图片适配

原生适配,通过Assets.xcassets,选择设置不同Mode下的图片

读取当前mode,动态选择 

...

WebContent适配(H5页面的修改)

通过CS适配 文字和图片;h5开发

...

二、支持强行设置App模式 产品设计了解

当系统设置为Light Mode时,对某些App的个别页面希望一直显示Dark Mode下的样式,这个时候就需要强行设置当前ViewController的模式了

self.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;【忽略dark mode,最省事的办法】

developer pay attention

当我们强行设置当前viewController为Dark Mode后,这个viewController下的view都是Dark Mode

由这个ViewController present出的ViewController不会受到影响,依然跟随系统的模式

要想一键设置App下所有的ViewController都是Dark Mode,请直接在Window上执行overrideUserInterfaceStyle

对window.rootViewController强行设置Dark Mode也不会影响后续present出的ViewController的模式

三、当前模式(Light or Dark) 移动开发关注

四、dark mode 切换,监听

监听模式切换

CGColor适配

Xcode <模式切换时打印log> 设置 

...

五、UIActivityIndicatorView 

之前的 UIActivityIndicatorView 有三种 style 分别为 whiteLarge, white 和 gray,现在全部废弃。

增加两种 style 分别为 medium 和 large,指示器颜色用 color 属性修改。

六、其他补充

NSAttributedString优化 【使用系统提供的动态颜色】

###Content End--------------------------------

你可能感兴趣的:(iOS13适配简介)