Привет, я не могу закрыть клавиатуру. У меня есть режим прокрутки, на котором есть UITextFields . Я пробовал использовать

[self.view endEditing:YES];

А также

[self.scrollView endEditing:YES];

Я пробовал использовать resignFirstResponder для отдельных текстовых полей, но бесполезно.

Эта проблема возникает только тогда, когда я нажимаю текстовое поле, которое использую как кнопку, когда нажимаю на него, я использую

[textField resignFirstResponder];

Но старый не уходит в отставку, что бы я ни делал, как будто я пытался использовать endEditing, прежде чем я отказался от кнопки, такой как текстовое поле. Итак, мой вопрос: в чем может быть проблема в моем сценарии и есть ли способ принудительно отключить клавиатуру?

1
Hassy 23 Янв 2014 в 12:54
Для resignFirstResponder .. вы установили делегата для своего текстового поля?
 – 
GenieWanted
23 Янв 2014 в 12:58
Что запускает метод, вызывающий [textField resignFirstResponder];?
 – 
trojanfoe
23 Янв 2014 в 12:59
- (void) textFieldDidBeginEditing: (UITextField *) textField запускает метод отказа от клавиатуры
 – 
Hassy
23 Янв 2014 в 13:02

1 ответ

Лучший ответ

Если вы хотите, чтобы textField действовал как кнопка, используйте делегатов.

textField.delegate=self;
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
   return NO;
}
2
santhu 23 Янв 2014 в 12:59
Моя проблема заключалась в том, что я использовал - (void) textFieldDidBeginEditing: (UITextField *) textField, чтобы отказаться от кнопки, такой как текстовое поле, которое закрывает старое, чтобы не отклонять. использование textFieldShouldBeginEditing решило эту проблему.
 – 
Hassy
23 Янв 2014 в 13:07