Как сделать так, чтобы клавиатура iphone никогда не скрывалась? - PullRequest
0 голосов
/ 19 ноября 2010

Мне нужно, чтобы клавиатура никогда не скрывалась (например, в приложении Facebook в форме входа в систему)

Как я могу это сделать? Я использую

[textFieldEmail addTarget:self 
                   action:@selector(textFieldDone:) 
         forControlEvents:UIControlEventEditingDidEndOnExit];

и когда я нажимаю «Готово» на клавиатуре, он прячется, я пробовал

- (IBAction)textFieldDone:(id)sender {  
[sender becomeFirstResponder];
   //...
}

но это не помогает, как я могу это сделать?

Спасибо

Ответы [ 3 ]

1 голос
/ 20 ноября 2010

Вам необходимо реализовать следующий метод UITextFieldDelegate :

- (BOOL)textFieldShouldReturn:(UITextField *)textField

Также убедитесь, что вы указали делегата UITextField.

0 голосов
/ 12 июля 2012

Чтобы создать форму входа в систему, как в Facebook, вы можете добавить временное текстовое поле, которое вы можете вывести из окна, и когда клиент нажимает кнопку входа в систему, вы запускаете отложенный селектор через 0,1 с. В селекторе вы сначала делаете текстовое поле temp первым респондентом, а затем выполняете логику входа в систему, поэтому клавиатура остается. Если вход не выполнен, вы просто делаете текстовое поле вашего пароля первым отвечающим. Таким образом, клавиатура всегда видна. Надеюсь, это поможет.

0 голосов
/ 19 ноября 2010

Удалить весь этот код.

Обычно люди сталкиваются с проблемой напротив - пытаясь понять, как / когда скрыть их клавиатуру!

Если вы ничего не сделаете - по умолчанию - клавиатура останется включенной! Клавиша «done» не должна закрывать клавиатуру, если кто-то где-то не вызывает «resignFirstResponder».

...