歡迎加入QQ討論群258996829

Swift 主題換膚框架 SwiftTheme

發(fā)布時間:2016-05-18 19:53  回復(fù):0  查看:6102  感興趣:236  贊:3   最后回復(fù):2016-05-18 19:53  

Swift 主題換膚框架 SwiftTheme

緣起

項(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ù)用的主題框架,正如你看到的這樣。

目標(biāo)

將SwiftTheme打造為一款簡單、功能豐富、高性能、可擴(kuò)展的主題框架(換膚框架),為iOS 平臺提供一個統(tǒng)一的主題解決方案。

主要特點(diǎn)

  •  純Swift編寫
  •  兼容Objective-C
  •  基于runtime
  •  易于集成
  •  擴(kuò)展屬性以 theme_* 開頭,便于 IDE 自動補(bǔ)全
  •  支持UIAppearance
  •  自動監(jiān)聽主題切換,更新UI
  •  支持通過字面量設(shè)置不同主題,通過索引進(jìn)行切換
  •  支持使用plist設(shè)置主題,可直接通過項(xiàng)目資源加載,或遠(yuǎn)程下載至沙盒中加載
  •  主題參數(shù)配置錯誤時日志提示
  •  強(qiáng)類型ThemePicker
  •  完整的Demo

相關(guān)開源代碼

您還未登錄,請先登錄

熱門帖子

最新帖子

?