将键盘设置为仅使用特定语言,而不使用更改语言按钮。目标c

问题描述:

我尝试强制用户仅使用特定语言(我的设备语言)并阻止使用此特定语言的键盘。无需让他用按钮改变语言。 我所做的到现在是添加自定义文本字段:将键盘设置为仅使用特定语言,而不使用更改语言按钮。目标c

@implementation customTextField 

- (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]; 
} 

- (UITextInputMode *) textInputMode { 
    NSString *myLanguage = [[NSLocale preferredLanguages] 
    objectAtIndex:0]; 
    for (UITextInputMode *tim in [UITextInputMode activeInputModes]) { 
     if ([[self langFromLocale:myLanguage ] isEqualToString:[self 
     langFromLocale:tim.primaryLanguage]]) return tim; 
    } 
    return [super textInputMode]; 
} 


@end 

这让我设置键盘的语言,但是当我想删除更改语言按钮我得到的回答改变从默认的键盘以ascii。因此,现在这种语言通常是英文的!

等待答复! thanx!

这个选项在IOS键盘中是不可能的,该按钮在这个模式下是默认的。