2015-07-06 1 views
2

Я делаю приложение, имеющее два языка, Что я делаю, На первой странице у меня есть несколько полей, которые будут вводить данные от пользователя. , которые содержат один файл, указанный в качестве идентификатора электронной почты пользователя.показать английскую клавиатуру и ввести, когда язык устройства является арабским в iOS

Когда я меняю язык устройства на арабский, все текстовое поле Я печатаю значения, такие как имя и фамилия и т. Д., На арабском языке, Но для идентификации электронной почты мне нужна клавиатура и введите текст на английском языке.

Я пробовал много для того же, что и для изменения типа клавиатуры для данной конкретной заявки, но не выполнен.

любые входные сигналы и руководство приветствуются. благодарит заранее.

ответ

4

Создайте локальную переменную

BOOL isEmailField; 

Реализация текстовых полей электронной почты «Редактирование было начать:» и «Редактирование сделал конец:» как следующим образом:

- (IBAction)emailTextFieldBeginEdit:(id)sender { 

    isEmailField = YES; 
} 

- (IBAction)emailTextFieldEndEdit:(id)sender { 
    isEmailField = NO; 
} 

Теперь реализовать метод:

- (UITextInputMode *) textInputMode 

Использование так:

- (UITextInputMode *) textInputMode { 

    if(isEmailField) { 
     for (UITextInputMode *inputMode in [UITextInputMode activeInputModes]) { 

      if([inputMode.primaryLanguage isEqualToString:@"en-US"]) { 
       return inputMode; 
      } 
     } 
    } 
    return [super textInputMode]; 
} 

Надеюсь, что это сработает, и, пожалуйста, дайте мне знать ваши отзывы.

+0

Waw ..... его работа, спасибо. Также это помогает мне решить проблему для цифровой клавиатуры – Sagar

+0

Могу ли я применить ту же логику, что и для datepickerview и timepickerview. Я пробовал, но не смог, никаких указаний – Sagar

Смежные вопросы