一. 换肤系统文件目录层次划分
- 创建根目录
ThemeResource
文件夹, 用于保存所有的肤色分类
-
/ThemeResource/light(dark)
, 在根目录内部, 创建不同的分类
-
/ThemeResource/light/styleConfig.plist
, 使用plist文件, 配置所有UI控件的颜色
- 在类别文件夹中, 如果需要在不同肤色类型中使用不同的图片, 则需要在不同的分类中提供相同文件名的图片, 用于换肤切换
二. 细节
- 根据控件类型的不同, 创建不同的字典, 内部的key为控件颜色的名称, value保存颜色的值(16进制颜色值, 可以用YYKit来进行转换)
8E148D60-10AA-478F-AA49-64E9BE260596.png
-
ThemeResource
文件夹要直接加入到项目中, 然后使用ThemeManager
类来提取各个控件颜色的值
- 笔者使用了
SDImageCache
来缓存重复加载的图片用于提高加载速度, 当切换皮肤之后, 要注意释放之前缓存的图片
三. GitHub地址
https://github.com/XZLeon/ThemeManager
网友评论