</pre><pre name="code" class="objc"><pre name="code" class="objc"><img src="https://img-blog.csdn.net/20151117124503421?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
</pre><pre name="code" class="objc">#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface NEOSkinTool : NSObject
+(void)saveSkinWithColor:(NSString *)color;
+(UIImage *)getImageWithName:(NSString *)imageName;
+ (UIColor *)getColorWithKey:(NSString *)key;
@end
// NEOSkinTool.m
// 工具类更换如模式,主题
//
// Created by apple on 15/11/16.
// Copyright © 2015年 dfdsaf. All rights reserved.
//
#import "NEOSkinTool.h"
static NSString *_skin;//类方法中不会出现全局对象就用一个全局变量代替
@implementation NEOSkinTool
+(void)load{
NSLog(@"此方法已经执行");
//_skin=[[NSUserDefaults standardUserDefaults] objectForKey:@"skin"];//此处出现了 bug
if (_skin==nil) {
_skin=@"blue";
}
}
#pragma mark 将控制器传回来的图片名称拼接图片的路径,返回图片
+(UIImage *)getImageWithName:(NSString *)imageName{
NSString *path=[NSStringstringWithFormat:@"skin/%@/%@.png",_skin,imageName];
return [UIImageimageNamed:path];
}
#pragma mark 保存选择过的颜色
+(void)saveSkinWithColor:(NSString *)color{
_skin=color;
[[NSUserDefaultsstandardUserDefaults]setObject:@"color"forKey:@"skin"];//保存颜色
//[[NSUserDefaults standardUserDefaults] synchronize];//立即保存
}
#pragma mark 通过字典的键值获得主操作控制器的选中颜色
+ (UIColor *)getColorWithKey:(NSString *)key{
NSString *name = [NSStringstringWithFormat:@"skin/%@/color.plist",_skin];
NSString *path = [[NSBundlemainBundle]pathForResource:nameofType:nil];
NSDictionary *dict = [NSDictionarydictionaryWithContentsOfFile:path];
NSLog(@"%@",dict);
NSString *strColor = dict[key];
NSArray *allColor = [strColorcomponentsSeparatedByString:@","];
CGFloat r = [allColor[0]integerValue]/255.0;
CGFloat g = [allColor[1]integerValue]/255.0;
CGFloat b = [allColor[2]integerValue]/255.0;
return [UIColorcolorWithRed:rgreen:gblue:balpha:1.0];
}
@end
控制器代码:
// NEOSkinTool.m
// 工具类更换如模式,主题
//
// Created by apple on 15/11/16.
// Copyright © 2015年 dfdsaf. All rights reserved.
//
#import "NEOSkinTool.h"
static NSString *_skin;//类方法中不会出现全局对象就用一个全局变量代替
@implementation NEOSkinTool
+(void)load{
NSLog(@"此方法已经执行");
//_skin=[[NSUserDefaults standardUserDefaults] objectForKey:@"skin"];//此处出现了 bug
if (_skin==nil) {
_skin=@"blue";
}
}
#pragma mark 将控制器传回来的图片名称拼接图片的路径,返回图片
+(UIImage *)getImageWithName:(NSString *)imageName{
NSString *path=[NSStringstringWithFormat:@"skin/%@/%@.png",_skin,imageName];
return [UIImageimageNamed:path];
}
#pragma mark 保存选择过的颜色
+(void)saveSkinWithColor:(NSString *)color{
_skin=color;
[[NSUserDefaultsstandardUserDefaults]setObject:@"color"forKey:@"skin"];//保存颜色
//[[NSUserDefaults standardUserDefaults] synchronize];//立即保存
}
#pragma mark 通过字典的键值获得主操作控制器的选中颜色
+ (UIColor *)getColorWithKey:(NSString *)key{
NSString *name = [NSStringstringWithFormat:@"skin/%@/color.plist",_skin];
NSString *path = [[NSBundlemainBundle]pathForResource:nameofType:nil];
NSDictionary *dict = [NSDictionarydictionaryWithContentsOfFile:path];
NSLog(@"%@",dict);
NSString *strColor = dict[key];
NSArray *allColor = [strColorcomponentsSeparatedByString:@","];
CGFloat r = [allColor[0]integerValue]/255.0;
CGFloat g = [allColor[1]integerValue]/255.0;
CGFloat b = [allColor[2]integerValue]/255.0;
return [UIColorcolorWithRed:rgreen:gblue:balpha:1.0];
}
@end