- (instancetype)init

{

self = [super init];

if (self) {//初始化_themeName

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSString *key = [defaults objectForKey:KThemeDefaultKey];

if (key.length == 0) {

_themeName = @"New PinkPink";

} else{

_themeName = key;

}

//获取文件路径

NSString *filePath = [[NSBundle mainBundle]pathForResource:@"theme" ofType:@"plist"];

//初始化_themeConfiger

_themeConfiger = [NSDictionary dictionaryWithContentsOfFile:filePath];

//取得状态栏状态

[self initTabBarStyle];

}

return self;

}


//创建单例

+ (ThemeManager *)shareThemeManage{

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

themeManage = [[ThemeManager alloc]init];

});

return themeManage;

}



//根据p_w_picpathName返回图片

- (UIImage *)themeImageWithImageName:(NSString *)p_w_picpathName{

//获取文件路径

NSString *themePath = [[[NSBundle mainBundle]resourcePath]stringByAppendingFormat:@"/%@/%@",_themeConfiger[_themeName],p_w_picpathName];

return [UIImage p_w_picpathWithContentsOfFile:themePath];

}

//根据textcolorName返回颜色

- (UIColor *)textColorWithTextColorName:(NSString *)textcolorName{

//获取文件路径

NSString *filePath = [[[NSBundle mainBundle]resourcePath]stringByAppendingFormat:@"/%@/config.plist",_themeConfiger[_themeName]];

NSDictionary *dicTheme = [NSDictionary dictionaryWithContentsOfFile:filePath];

NSDictionary *dicColor = dicTheme[textcolorName];

//设置透明度

NSInteger alpha = dicColor.count >= 4 ? [[dicColor objectForKey:@"alpha"] integerValue]: 1;

return [UIColor colorWithRed:[[dicColor objectForKey:@"R"] floatValue] / 255 green:[[dicColor objectForKey:@"G"] floatValue] / 255 blue:[[dicColor objectForKey:@"B"] floatValue] / 255 alpha:alpha];

}


- (void)setThemeName:(NSString *)themeName{

if (_themeName != themeName) {

_themeName = themeName;

[self initTabBarStyle];

//修改数据

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

[defaults setObject:_themeName forKey:KThemeDefaultKey];

[defaults synchronize];

//发出通知

[[NSNotificationCenter defaultCenter]postNotificationName:NotificationTheme object:nil];

}

}

- (void)initTabBarStyle{

//获取文件路径

NSString *filePath = [[[NSBundle mainBundle]resourcePath]stringByAppendingFormat:@"/%@/config.plist",_themeConfiger[_themeName]];

NSDictionary *dicTheme = [NSDictionary dictionaryWithContentsOfFile:filePath];

_tarBarStyle = [[dicTheme objectForKey:@"Statusbar_Style"] integerValue];

}