Как убрать клавиатуру в симуляторе iphone
Вопрос
В моем приложении для iPhone есть одно поле для ввода текста, когда вы касаетесь его в симуляторе, появляется клавиатура.Но избавиться от этого невозможно.Другие веб-страницы предлагают решения, не объясняя, почему они должны работать, и они не работают для меня.Один говорит, что сделайте делегирование текстового поля своим пользовательским интерфейсом, а затем вызовите resignfirstresponder для объекта, но он никогда не вызывается.Какие-либо предложения?Кто-нибудь может объяснить, что на самом деле происходит?Я бы сам это понял, если бы знал, что такое парадигма дизайна...
Может быть, мне просто стоит поставить кнопку «Перейти», чтобы у меня было что-то, что могло бы отвлечь фокус от текстового поля?
Решение
Один из способов сделать это — установить объект в качестве делегата текстового поля и реализовать
- (BOOL)textFieldShouldReturn:(UITextField *)textField
в который ты звонишь [textField resignFirstResponder]
Это приведет к исчезновению клавиатуры, когда они нажмут кнопку «Возврат/Перейти/Готово» (независимо от того, что вы установите для нижней правой клавиши клавиатуры).
См. UITextFieldDelegate ссылка для получения дополнительной информации.
Другие советы
Для отклонения клавиатуры вы можете использовать TextField Delegate. Р>
Чтобы использовать это, выполните следующие действия ...
1. В вашем viewController. h добавьте объявление делегата следующим образом:
@interface ViewController : UIViewController <UITextFieldDelegate>
{
}
2. В вашем viewController. m вызовите этот метод:
- (BOOL)textFieldShouldReturn:(UITextField *)textField
3. Затем напишите такой код:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
4. Последний шаг - установить делегата textField:
- (void)viewDidLoad {
[super viewDidLoad];
self.textField.delegate = self;
}
- (BOOL) textFieldShouldReturn: (UITextField *) textField
в вашем делегате вызывается при нажатии кнопки возврата.
Вы хотите вызвать [textField resignFirstResponder]
, а затем вернуть YES
. Это должно делать свое дело. Также убедитесь, что делегат установлен. Если сомневаетесь, добавьте точку останова или NSLog
и подтвердите.