당신은 UITextView
@implementation UITextView (Localization)
- (UITextInputMode *) textInputMode {
for (UITextInputMode *inputMode in [UITextInputMode activeInputModes])
{
if ([[self langFromLocale:[self localeKey]] isEqualToString:[self langFromLocale:inputMode.primaryLanguage]])
return inputMode;
}
return [super textInputMode];
}
- (NSString*) localeKey
{
NSArray* lang = [[NSUserDefaults standardUserDefaults]objectForKey:@"AppleLanguages"];
NSString* currentLang = lang[0];
return currentLang;
}
- (NSString *)langFromLocale:(NSString *)locale {
NSRange r = [locale rangeOfString:@"_"];
if (r.length == 0) r.location = locale.length;
NSRange r2 = [locale rangeOfString:@"-"];
if (r2.length == 0) r2.location = locale.length;
return [[locale substringToIndex:MIN(r.location, r2.location)] lowercaseString];
}
에 대한 textInputMode를 오버라이드 (override) 할 필요가 그리고 당신은 지금 짱 입력하여 lang을 변경할 수 있습니다
[[NSUserDefaults standardUserDefaults] setObject:@[@"fr"] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
용량은 그것을 위해 키보드 변경 너 dipen? – Jageen
아니요 언어 순서 만 변경됩니다. –
이 가능하다,이 링크 http://stackoverflow.com/questions/19497047/applelanguages-value-overrides-the-value-of-language-set-in-ios-settings-preferr – Jageen