UITextView textViewShouldEndEditing / textViewDidEndEditing не вызывается - PullRequest
1 голос
/ 20 декабря 2011

У меня есть экран с несколькими UITextField с и UITextView с.

Несмотря на то, что «официальный» способ завершить редактирование UITextField - это прикоснуться к клавише «Готово» на клавиатуре, а «официальный» метод для UITextView - прикоснуться к внешней кнопке «Готово» - и я поддерживает оба - я не могу запретить пользователю переключаться на другое текстовое поле или текстовое представление, просто прикоснувшись к этому другому элементу управления.

Это прекрасно работает, если текущий редактируемый элемент управления - UITextField. Когда пользователь касается второго элемента управления, для текущего текстового поля вызывается TextFieldDidEndEditing:, и я могу обработать данные в этом поле.

Однако, если текущим элементом управления является UITextView, когда пользователь касается другого элемента управления, ни textViewShouldEndEditing, ни textViewDidEndEditing не вызываются. Единственный способ вызвать их - это сделать явный ResignFirstResponder при касании второго элемента управления, но это приводит к тому, что клавиатура отклоняется, поэтому новое касание эффективно игнорируется (пользователь должен снова коснуться нового поля). возобновить редактирование).

Есть ли способ заставить UITextView вести себя как UITextField при касании другого элемента управления?

1 Ответ

0 голосов
/ 27 декабря 2011

в методах textViewShouldEndEditing и textViewDidEndEditing помещают предложение if-else.

- (void)textViewDidBeginEditing:(UITextView *)textView
{
   if (textView = (your text view property)
   {
      //do something
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...