MJRefresh
文件夹内,NSBundle+MJRefresh.m
里面有一段注释:
//(iOS获取的语言字符串比较不稳定)目前框架只处理en
、zh-Hans
、zh-Hant
三种情况,其他按照系统默认处理
这个不是重点,重点是它在这个方法里面:
+ (NSString *)mj_localizedStringForKey:(NSString *)key value:(NSString *)value
{
//把if条件注释掉,因为 应用内部可以随时切换语言。
}
具体操作:
+ (NSString *)mj_localizedStringForKey:(NSString *)key value:(NSString *)value
{
staticNSBundle *bundle = nil;
//注释掉判断 因为应用内部可以随时切换语言
//if (bundle == nil) {
#if 1
//获取切换所选择的语言
NSString *language = [[NSUserDefaultsstandardUserDefaults] objectForKey:@"jhAppLanguage"];
#else
//(iOS获取的语言字符串比较不稳定)目前框架只处理en、zh-Hans、zh-Hant三种情况,其他按照系统默认处理
NSString *language = [NSLocale preferredLanguages].firstObject;
#endif
if ([languagehasPrefix:@"en"]) {
language =@"en";
} elseif ([language hasPrefix:@"zh"]) {
if ([languagerangeOfString:@"Hans"].location !=NSNotFound) {
language =@"zh-Hans"; //简体中文
} else { // zh-Hant\zh-HK\zh-TW
language =@"zh-Hant"; //繁體中文
}
} else {
language =@"en";
}
//从MJRefresh.bundle中查找资源
bundle = [NSBundlebundleWithPath:[[NSBundlemj_refreshBundle] pathForResource:languageofType:@"lproj"]];
//}
value = [bundle localizedStringForKey:key value:valuetable:nil];
return [[NSBundlemainBundle] localizedStringForKey:keyvalue:value table:nil];
}
0行代码搞定空白占位图:
https://github.com/xjh093/JHNoDataEmptyViewForT-C