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://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--------------------------------