本篇博客就來(lái)介紹一下iOS App中主題切換的常規(guī)做法,當(dāng)然本篇博客中只是提到了一種主題切換的方法,當(dāng)然還有其他方法,在此就不做過(guò)多贅述了。本篇博客中所涉及的Demo完全使用Swift3.0編寫完成,并使用iOS的NSNotification來(lái)觸發(fā)主題切換的動(dòng)作。本篇博客我們先對(duì)我們的主題系統(tǒng)進(jìn)行設(shè)計(jì),然后給出具體實(shí)現(xiàn)方式。當(dāng)然在我們?cè)O(shè)計(jì)本篇博客所涉及的Demo時(shí),我們要遵循“高內(nèi)聚,低耦合”,“面向接口編程”,“便于維護(hù)與擴(kuò)充”等特點(diǎn)。

本篇博客我們先看一下Demo的運(yùn)行效果,然后給出設(shè)計(jì)方案已經(jīng)對(duì)應(yīng)的類圖,然后再根據(jù)設(shè)計(jì)的類圖給出相應(yīng)的代碼實(shí)現(xiàn)。

 

一、主題切換效果展示

先入為主,接下來(lái)我們先看一下本篇博客所涉及Demo的最終運(yùn)行效果。為了看到整體主題切換的效果,所以我們添加了一個(gè)主頁(yè)以及主頁(yè)P(yáng)ush進(jìn)去的子頁(yè)面。另一個(gè)頁(yè)面就是選擇相應(yīng)主題的頁(yè)面,也就是下方你所看到的TabieView的列表頁(yè),該列表中提供了6種可選的主題,點(diǎn)擊相應(yīng)的主題即可切換到該主題上。

當(dāng)然主題切換,意味著整個(gè)App的風(fēng)格都得改變,所以當(dāng)修改完主題后,主頁(yè)以及其子頁(yè)面的主題也得隨之改變。具體效果如下gif圖所示。當(dāng)然Demo比較簡(jiǎn)單,但是麻雀雖小,五臟俱全,用來(lái)了解