iOS13 暗黑模式(Dark Mode)適配 所踩的坑

DarkMode 主要從兩個(gè)方面來適配,一是顏色,二是圖片,簡單的就不用多說,下面來說一下本人所踩的坑。

一、圖片適配

圖片適配很簡單 如下圖,準(zhǔn)備兩套圖片(dark模式和any模式)如圖箭頭位置選擇 ?Any,Dark ?此時(shí)就完成了圖片的適配。

圖片適配

注意:來回切換深色和淺色模式 ? 有時(shí)候你會(huì)發(fā)現(xiàn)某些圖片明明是設(shè)置了any 和 dark 兩種圖片但是并沒有切換過來,此時(shí)你需要重寫下列函數(shù)(監(jiān)聽模式變化) 然后在此函數(shù)中調(diào)用你設(shè)置圖片的代碼

- (void)traitCollectionDidChange:(nullableUITraitCollection *)previousTraitCollection NS_AVAILABLE_IOS(8_0);


二、顏色適配

官方并沒有給出一個(gè)友好的方法來適配xib和sb中設(shè)置的顏色,WWDC演示的時(shí)候是在Assets.xcassets中設(shè)置顏色來適配iOS13 暗黑模式(WWDC鏈接) 但是?在Assets.xcassets中設(shè)置顏色只能支持iOS11 ?iOS11以下并不能使用。那么如何來適配iOS13 同時(shí)又支持iOS13以下的版本呢?

1、代碼適配

代碼適配對(duì)于xib和sb的工程比較繁瑣 ,網(wǎng)上比較多。

2、Assets.xcassets + 代碼 適配

公司項(xiàng)目使用的是xib和sb如果使用代碼來適配顏色比較繁瑣,所以放棄純代碼適配。 經(jīng)過查資料和實(shí)踐,找到了一個(gè)相對(duì)來說比較簡單的方法來適配,方法如下

注意:由于之前在項(xiàng)目中已經(jīng)設(shè)置了顏色,所以我們并不用對(duì)原來的xib文件進(jìn)行改變。只需適配iOS13即可。

設(shè)置兩套顏色
代碼設(shè)置Assets.xcassets中設(shè)置的顏色

在Assets.xcassets中設(shè)置兩套顏色 如上圖所示。然后在代碼中調(diào)用如上圖所示。此時(shí)iOS13暗色模式圖片和顏色適配已經(jīng)完成

如果有更好適配顏色的方法可以留言,謝謝!

參考文檔

iOS13 暗黑模式(Dark Mode)適配之OC版

iOS13-適配夜間模式/深色外觀(Dark Mode)

iOS 13 適配

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容