换肤功能

2016-11-06  本文已影响19人  面糊

一. 换肤系统文件目录层次划分

  1. 创建根目录ThemeResource文件夹, 用于保存所有的肤色分类
  2. /ThemeResource/light(dark), 在根目录内部, 创建不同的分类
  3. /ThemeResource/light/styleConfig.plist, 使用plist文件, 配置所有UI控件的颜色
  4. 在类别文件夹中, 如果需要在不同肤色类型中使用不同的图片, 则需要在不同的分类中提供相同文件名的图片, 用于换肤切换

二. 细节

  1. 根据控件类型的不同, 创建不同的字典, 内部的key为控件颜色的名称, value保存颜色的值(16进制颜色值, 可以用YYKit来进行转换)
    • 如下图所示
8E148D60-10AA-478F-AA49-64E9BE260596.png
  1. ThemeResource文件夹要直接加入到项目中, 然后使用ThemeManager类来提取各个控件颜色的值
  2. 笔者使用了SDImageCache来缓存重复加载的图片用于提高加载速度, 当切换皮肤之后, 要注意释放之前缓存的图片

三. GitHub地址

https://github.com/XZLeon/ThemeManager

上一篇下一篇

猜你喜欢

热点阅读