iOS13系統適配暗黑模式調研總結

 

背景:iOS13系統提供了暗黑模式,公司各業務線App打算嘗試適配iOS13系統暗黑模式。

 

一、關於圖片的適配:

1、本地圖片適配:Assets中設置(Any,Dark)類型,可設置兩種模式下分別需要顯示的圖片(可兼容iOS低版本系統)。
2、網絡圖片適配:設計人員出圖需考慮同時兼容暗黑模式和正常模式(需出一套圖,對應兩種模式),不建議出兩套圖。

二、關於顏色的適配:
UIColor適配:
1、hook UIColor的方法,達到統一動態適配相關顏色。需要設計人員出規範,按照規範做映射轉換。
2、封裝分別設置兩種模式下顏色的API,在需要的地方單獨設置。需要開發人員針對性修改。

CGColor適配(layer的適配):
UIColor切換模式時有回調,但是CGColor沒有,目前只能在traitCollectionDidChange監聽方法中重新設置CGColor。(方案待定)

NSAttributedString富文本的適配,包括UITextField的placeHolder問題等。

三、狀態欄style的變更

由於狀態欄style類型有變化,所以,頁面有關於狀態欄設置的需要適配。(我們項目基類Controller中根據接口返回的動態配置數據需要重點關注)。

四、關於xib文件的適配

由於項目中有xib文件,有些地方需要用代碼單獨適配,並考慮低版本系統兼容性問題。

五、UIActivityIndicatorView樣式有變更

項目中有用到UIActivityIndicatorView的地方需要適配。

六、RN代碼的適配

RN代碼需要RN團隊關注適配方案。

 

總結:對於設計人員,需要提供一套設計規範,作爲底層顏色自動轉換的映射表。對於iOS團隊來說,採用底層hook UIColor等相關API的方案,可以很快做到顏色轉換來適配暗黑色模式。但是,有些顏色是需要單獨配置的,不能完全遵循底層的顏色轉換,所以,每個頁面都需要設計人員驗收,自動轉換的顏色是否符合整體頁面的UI效果,如果有變動,儘量給出一份暗黑模式的標註圖,然後開發團隊再做單獨配置。所以,對於設計人員和iOS開發團隊需要適配的工作量還是蠻大的。目前做到暗黑色適配的App有網易新聞、喜馬拉雅、知乎,大家可以下載參考實現方案。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章