項(xiàng)目需求,我們要為“節(jié)操精選”開發(fā)夜間模式功能。我們的需求不是簡單的調(diào)整亮度或者alpha,而是更換為一套更深色的UI。因此所謂夜間模式其實(shí)就是特定的更換主題(換膚)功能。
如何實(shí)現(xiàn)呢?判斷某個全局變量,然后在初始化視圖控件時設(shè)置不同的背景色或者加載不同的切圖文件?但是在切換主題時,已經(jīng)初始化好的視圖控件呢?沒錯,也許你也想到了通過通知讓相應(yīng)的視圖控件修改背景色或切圖。想到這里你應(yīng)該也意識到了Controller中將充斥著注冊通知、if...else、更新視圖控件的代碼,糟糕的是如果忘記了注銷通知還可能引起應(yīng)用崩潰。
一番思考后,我們對該任務(wù)提出了更高的要求,打造一套簡單、可復(fù)用的主題框架,正如你看到的這樣。
將SwiftTheme打造為一款簡單、功能豐富、高性能、可擴(kuò)展的主題框架(換膚框架),為iOS 平臺提供一個統(tǒng)一的主題解決方案。