天天看點

ios UIDatePicker語言設定

在一些app中添加了語言選擇,這時就需要app中所有頁面的顯示都根據選擇語言保持一緻。本文介紹一下UIDatePicker語言本地化。

1.擷取本地語言

- (NSString*)getPreferredLanguage

{

    NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];

    NSArray* languages = [defs objectForKey:@"AppleLanguages"];

    NSString* preferredLang = [languages objectAtIndex:0];

    NSLog(@"Preferred Language:%@", preferredLang);

    return preferredLang;

}

2.設定

//set datepicker date

-(void)initDatePickerViewWithLanguage

{

    NSString* language = [[NSUserDefaults standardUserDefaults]objectForKey:"appLanguage"];

    if (!language) {

        language = [self getPreferredLanguage];

    }

    NSLog(@"language==%@",language);

    if ([language isEqualToString:@"zh-Hans"]) {    //簡體中文

       [self.datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh-Hans"]];

    }else if ([language isEqualToString:@"zh-Hant"]){   //繁體中文

        [self.datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh-Hant"]];

    }else if ([language isEqualToString:@"en"]){ //英文

        [self.datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"en"]];

    }else{  //其他地區預設設為英語

        [self.datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"en"]];

    }

}

這樣就完成了三種語言,根據自己需要,可以設定不同的語言。