ZinkSkin 1.0.2

ZinkSkin 1.0.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布2016年7月

zinkLin维护。



ZinkSkin 1.0.2

  • Zink
  • 快速实现多种本地皮肤风格切换
  • 支持iOS7+

内容

开始使用

能做什么

  • ZinkSkin能够实现一行代码为视图添加换肤功能,目前已为UIView, ViewGroup,stagram, UIButton等基础控件添加分类,以实现换肤支持

安装

示例

ZinkSkinManager皮肤管理

/**
 *  皮肤管理工具类
 */
@interface ZinkSkinManager : NSObject

/**
 *  设置该属性,即可修改当前皮肤
 */
@property (assign, nonatomic) SkinType skinType;
@end

UIView

设置UIView的颜色

@interface UIView (ZinkSkin)
/**
 *  将各个皮肤对应的颜色传入数组
 */
- (void)zinkSetSkinWithBackgroundColors:(NSArray<UIColor *> *)array;
@end

UIView *view;
[view zinkSetSkinWithBackgroundColors:@[[UIColor whiteColor], [UIColor darkGrayColor]]];

UIImageView

设置UIImageView的图片

@interface UIImageView (ZinkSkin)
/**
 *  将各个皮肤对应的文本颜色传入数组
 */
- (void)zinkSetSkinWithImages:(NSArray<UIImage *> *)array;
@end

UIImageView *imageView;
[imageView zinkSetSkinWithImages:@[[UIImage imageNamed:@"normal1"], [UIImage imageNamed:@"night1"]]];

UIButton

设置UIButton不同状态下的图片

@interface UIButton (ZinkSkin)
/**
 *  将各个皮肤对应的标题颜色传入数组
 */
- (void)zinkSetSkinWithTitleColors:(NSArray<UIColor *> *)array forState:(UIControlState)state;
/**
 *  将各个皮肤对应的图标传入数组
 */
- (void)zinkSetSkinWithImage:(NSArray<UIImage *> *)array forState:(UIControlState)state;
/**
 *  将各个皮肤对应的背景图传入数组
 */
- (void)zinkSetSkinWithBackgroundImage:(NSArray<UIImage *> *)array forState:(UIControlState)state;
@end

UIButton *button;
[button zinkSetSkinWithBackgroundImage:@[[UIImage imageNamed:@"normal"], 
                                         [UIImage imageNamed:@"night"]] 
                              forState:UIControlStateNormal];
[button zinkSetSkinWithBackgroundImage:@[[UIImage imageNamed:@"normal1"], 
                                         [UIImage imageNamed:@"night1"]] 
                              forState:UIControlStateHighlighted];

其他

为了防止特殊的视图造成无法换肤,ZinkSkinManager在每次换肤时会发出通知:kViewSkinChangeNotification。可以监听该通知来修改相应的视图。

感谢

感谢Draveness的无私分享:DKNightVersion