#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. Я думаю, что вышеупомянутое решение сработает