как отключить мою клавиатуру, когда я перестаю печатать

#iphone #objective-c

#iPhone #objective-c

Вопрос:

у меня есть 2 текстовых поля, первое из которых — имя пользователя, а другое — пароль, и я хочу, чтобы, когда я ввожу пароль и нажимаю снаружи на просмотр, моя клавиатура должна возвращать, как это возможно.Кто-нибудь может мне помочь. Спасибо

Ответ №1:

Вам нужно будет определить метод в делегате вашего супервизора (обычно в вашем текущем контроллере просмотра):

 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    [super touchesEnded:touches withEvent:event];
    [self.myPasswordTextField resignFirstResponder];
}  

Этот код сообщает текстовому полю вашего пароля (названному myPasswordTextField в этом примере) отказаться от статуса первого ответчика. В настоящее время первым ответчиком является элемент, обрабатывающий ввод; когда объект отказывается от первого ответчика, он отказывается от своих полномочий по вводу, что для текстового поля означает скрытие клавиатуры и завершение редактирования.

Ответ №2:

Вы можете использовать UITapGestureRecognizer и добавить его в свой [self.view addGestureRecognizer:] .

Таким образом, жестом касания вы можете указать действие, которое хотите выполнить.

Надеюсь, это поможет вам.

Ответ №3:

Вы должны использовать методы делегирования UITextField

 - (void)textFieldDidEndEditing:(UITextField *)textField{
       [textField resignFirstResponder];
}
  

🙂

Комментарии:

1. @Inder Kumar Rathore: Как этот метод запускается, когда мы нажимаем вне клавиатуры в представлении?

2. Сначала внедрите протокол в свой файл .h, т.е. <UITextFieldDelegate> , затем установите для делегата текстового поля значение self либо с помощью textField.delegate = self , либо вы можете просто установить его через IB. Щелкните правой кнопкой мыши по текстовому полю, затем подключите Outlet delegate к владельцу этого файла.

3. @Inder: Нет, это нормально, но как это скрывает клавиатуру, когда мы нажимаем вне клавиатуры? Если я не ошибаюсь, нам нужно нажать клавишу возврата на клавиатуре, чтобы запустить это событие. Таким образом, мы не можем использовать этот метод, чтобы скрыть клавиатуру при нажатии в любом другом месте, кроме клавиши возврата.

4. Хорошо, я проверю это завтра.. Но вы можете попробовать.

5. Да, это не вызывается. Коснувшись за пределами UITextField. Я думаю, что вышеупомянутое решение сработает