SkinManage.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. //
  2. // SkinManage.h
  3. // shiku_im
  4. //
  5. // Created by 1 on 17/10/23.
  6. // Copyright © 2017年 Reese. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. typedef enum : NSUInteger {
  10. SkinType_PeaGreen = 0, //浅豆绿
  11. SkinType_ClearBlue, //清水蓝
  12. SkinType_CoralRed, //珊瑚红
  13. SkinType_NephelinePowder, //流霞粉
  14. SkinType_CobaltPaleGreen, //默认淡钴绿
  15. SkinType_DarkPurple, //葡萄紫
  16. SkinType_BusinessBlue, //商务蓝
  17. SkinType_ComposedRed, //经典红
  18. // SkinType_simple_Red, //极简红
  19. // SkinType_simple_Blue, //极简蓝
  20. // SkinType_simple_Pink, //极简粉
  21. // SkinType_Green, //淡钴绿
  22. // SkinType_LeafGreen, //粉叶绿
  23. // SkinType_PowderAzure, //粉天蓝
  24. // SkinType_BusinessBlue, //商务蓝
  25. // SkinType_Blue, //大海蓝
  26. // SkinType_Pink, //感性粉
  27. // SkinType_Red, //中国红
  28. // SkinType_AmberYellow, //琥珀黄
  29. // SkinType_Orange, //橘黄色
  30. // SkinType_LightCoffee, //浅咖色
  31. // SkinType_BlueGray, //蓝灰色
  32. // SkinType_BurntUmber, //深茶色
  33. } SkinType;
  34. typedef NSString * SkinDictKey NS_STRING_ENUM;
  35. extern SkinDictKey const SkinDictKeyName;
  36. extern SkinDictKey const SkinDictKeyColor;
  37. extern SkinDictKey const SkinDictKeyIndex;
  38. @interface SkinManage : NSObject
  39. /**
  40. 主题皮肤颜色
  41. */
  42. @property (readonly, nonatomic, strong) UIColor * themeColor;
  43. /**
  44. 主题皮肤名称
  45. */
  46. @property (readonly, nonatomic, copy) NSString * themeName;
  47. /**
  48. 主题皮肤索引
  49. */
  50. @property (readonly, nonatomic, assign) NSUInteger themeIndex;
  51. /**
  52. 主题列表
  53. */
  54. @property (readonly, nonatomic, strong) NSArray<NSDictionary<SkinDictKey,id> *> * skinList;
  55. /**
  56. 主题皮肤名列表
  57. */
  58. @property (readonly, nonatomic, strong) NSArray<NSString *> * skinNameList;
  59. /**
  60. skin管理器单例对象
  61. @return skinManage
  62. */
  63. +(instancetype)sharedInstance;
  64. /**
  65. 切换主题皮肤
  66. @param index 皮肤主题的索引type
  67. */
  68. -(void)switchSkinIndex:(NSUInteger)index;
  69. /**
  70. 主题皮肤image对象
  71. @param imageName 图片文件名
  72. @return 主题皮肤图片
  73. */
  74. -(UIImage *)themeImage:(NSString *)imageName;
  75. /**
  76. 图片名转换为当前主题皮肤的图片名
  77. eg. ic_find@2x ->ic_find_2@2x
  78. @param imageName 图片文件名
  79. @return 主题皮肤图片名
  80. */
  81. -(NSString *)themeImageName:(NSString *)imageName;
  82. /**
  83. 生成主题色的图片
  84. @param imageName 图片文件名
  85. @return 渲染过的图片
  86. */
  87. -(UIImage *)themeTintImage:(NSString *)imageName;
  88. // 重置
  89. -(void)resetInstence;
  90. @end