iOS  WhdeLocalized--针对国际化做的类,可以在

2016-02-19  本文已影响83人  Whde

WhdeLocalized

pod 'Language', '~> 1.0.4'

文字国际化

 titleLabel.text = CLocalizedString(@"管理地址");

xib国际化

xib使用的时候需要读取到对应语言文件夹下的nib,当我们设置语言不跟随系统的时候,系统不能正确读取; 因此,我们需要找到对应的nib

CLocalizedNibName(@"AddShouHuoAddressViewController") 

图片国际化

和文字国际化类似,我们只需要找到国际化对应的是什么图片

 [UIImage imageNamed:CLocalizedImgName(@"djdzs_大家都在说.png")]

设置语言

[[NSNotificationCenter defaultCenter] removeObserver:self
                                                name:LANGUAGE_CHANGE_NOTIFICATION
                                              object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(languageHasChanged) 
                                             name:LANGUAGE_CHANGE_NOTIFICATION
                                           object:nil];
- (void)languageHasChanged{
    if ([self isViewLoaded] && self.view.window == nil) {
        for (UIView *v in self.view.subviews) {
            [v removeFromSuperview];
        }
        self.view = nil;
    }
}
  [CLanguageUtil setCurrentLanguage:Language_Hant];

这个方法完成会发送消息通知:LANGUAGE_CHANGE_NOTIFICATION, 通知页面移除, 在页面显示在屏幕上的时候会重新调用viewDidLoad这个方法

上一篇 下一篇

猜你喜欢

热点阅读