新手入門(mén)
請(qǐng)多指教
前言
嗯,深色模式在iOS13版本就已經(jīng)出了,但是呢,我們的app并沒(méi)有適配(我也不知道為啥,可能是因?yàn)閼邪?。。。?/p>
最近用戶使用的時(shí)候出問(wèn)題了,首先是反饋說(shuō)App里的字不顯示
哎喲,我去。。
趕緊看一下
然后看到反饋的截圖發(fā)現(xiàn)全是黑的,
不對(duì)呀,我們App設(shè)計(jì)的都是白色底色啊,
然后就突然想到iOS有個(gè)深色模式,果然在測(cè)試機(jī)上開(kāi)啟深色模式后,成功復(fù)現(xiàn)了問(wèn)題。
解決方案
老規(guī)矩,先上答案,省的大家看我bb半天發(fā)現(xiàn)都是自己想找的信息。
不打算一個(gè)個(gè)適配,主要是缺少對(duì)應(yīng)的圖片適配。
所以直接打算暴力一點(diǎn),禁用深色模式
或者說(shuō),強(qiáng)制app使用Light模式
在配置文件 info 下,新增 Appearance 屬性,并設(shè)置值為Light
如下圖所示

對(duì)應(yīng)info.plist如下

然后你會(huì)驚喜的發(fā)現(xiàn)
最終info.plist 文件源碼中xml屬性
多了UIUserInterfaceStyle 屬性 ,并且值為 Light

方便大家拷貝,貼下源碼如下
// info.plist
<key>UIUserInterfaceStyle</key>
<string>Light</string>
好了,解決問(wèn)題的大哥們可以撤了,下面是問(wèn)題的發(fā)現(xiàn)和解決分析過(guò)程,基本是寫(xiě)給自己看的,想看的可以接續(xù),不想看的可以直接去嘗試代碼了。
深色模式 Dark Mode
首先咱們先繼續(xù)從沒(méi)顯示的原因說(shuō)起來(lái)。
其實(shí)不是沒(méi)顯示出來(lái),而是由于字體顏色被反轉(zhuǎn)為白色,恰好背景也是白的,就木了。。。
咱是個(gè)iOS開(kāi)發(fā)的二把刀,也不知道咋適配,先在網(wǎng)上查一下了解了解。
基本清一色的說(shuō)可以通過(guò)info.plist文件添加如下內(nèi)容解決。
<key>UIUserInterfaceStyle</key>
<string>Light</string>
我興沖沖的就上了啊,先是在項(xiàng)目info里設(shè)置,
但是每次輸完之后一敲回車都變成了Appearance屬性
我那是還不知道這倆是一樣的,尋思著,咋回事,不行啊。
然后去info.plist試試,當(dāng)前是列表形式
如下圖

敲完后也秒變Appearance。

然后又看一波博客,發(fā)現(xiàn)有人說(shuō)添加User Interface Style屬性
誒,這個(gè)能輸入。
最后就掉進(jìn)了這個(gè)坑。
但是其實(shí)最終不會(huì)有效果。
然后反思下,剛才的變化,既然兩次都是這么改變的,是不是二者就是同一個(gè)值呢?
這時(shí)重新操作了一遍,
這次通過(guò)source code 方式打開(kāi)info.plist看了一下。
好家伙,就是同一個(gè)東西啊。

吃了基礎(chǔ)知識(shí)不牢的虧啊。
特此記錄下過(guò)程。
長(zhǎng)個(gè)記性。
參考文獻(xiàn)
iOS13-適配夜間模式/深色外觀(Dark Mode)
UIUserInterfaceStyle
UIAppearance
stackoverflow dark-mode-on-ios-13