一. 換膚系統文件目錄層次劃分
- 創建根目錄
ThemeResource
文件夾, 用于保存所有的膚色分類 -
/ThemeResource/light(dark)
, 在根目錄內部, 創建不同的分類 -
/ThemeResource/light/styleConfig.plist
, 使用plist文件, 配置所有UI控件的顏色 - 在類別文件夾中, 如果需要在不同膚色類型中使用不同的圖片, 則需要在不同的分類中提供相同文件名的圖片, 用于換膚切換
二. 細節
- 根據控件類型的不同, 創建不同的字典, 內部的key為控件顏色的名稱, value保存顏色的值(16進制顏色值, 可以用YYKit來進行轉換)
- 如下圖所示
8E148D60-10AA-478F-AA49-64E9BE260596.png
-
ThemeResource
文件夾要直接加入到項目中, 然后使用ThemeManager
類來提取各個控件顏色的值 - 筆者使用了
SDImageCache
來緩存重復加載的圖片用于提高加載速度, 當切換皮膚之后, 要注意釋放之前緩存的圖片