Приложение для iPhone: UITableViewController с UITextView в ячейке, не может избавиться от клавиатуры - PullRequest
0 голосов
/ 21 января 2012

Я знаю, что этот вопрос задавался ранее, но я не смог найти ответ, относящийся к моей проблеме. У меня есть UITableViewController, у которого есть третья строка, которая заполнена UITextView.

Я вполне доволен тем, как он выглядит и как в него вводится текст. Однако я не могу найти способ избавиться от клавиатуры, когда пользователь закончит ввод текста. Я хотел бы иметь возможность использовать кнопку возврата для фактического \ n в тексте.

Я дошел до того, что нажатие на две верхние строки приведет к textView te resignFirstTransponder, но есть ли способ поймать нажатие на сероватом фоне?

Это все в UITableViewController, загруженном из файла пера. Кстати, я довольно новичок в программировании на iOS, поэтому чем сложнее ваш ответ, тем лучше:)

Спасибо!

Ответы [ 3 ]

1 голос
/ 21 января 2012

Шаблон, которым следуют многие приложения, показывает горизонтальную полосу с кнопками над клавиатурой.Он может содержать кнопку done, нажатие которой позволяет скрыть клавиатуру.И, конечно же, вам придется создать этот горизонтальный вид самостоятельно.

Другим способом было бы включить распознавание касаний в другом месте, а при прикосновении снаружи скрыть клавиатуру

0 голосов
/ 22 января 2012

Это может быть немного сложно, если вы новичок в iOS. Способ обработки UITextView в UITableViewCell заключается в том, что я делаю собственный подкласс UITableViewCell с выходом для UITextView. Затем установите свою ячейку в конструкторе интерфейсов для этого подкласса. В CellForRowAtIndexPath: установите делегата на себя. Затем в DidSelectRowAtIndexPath вы вызываете делегат для TextView, основанного на indexPath, таким образом, keyBoard отклонит правильную строку, если вы коснетесь фона. Если вы хотите, чтобы он отклонялся, когда пользователь касается какой-либо ячейки, просто вызовите делегат без указания indexPath. Делегатом является TextViewShouldEndEditing:. Если вы хотите, опубликуйте некоторый код.

0 голосов
/ 21 января 2012

Одной из альтернатив будет добавление панели инструментов к клавиатуре с чем-то вроде кнопки «Готово», которая будет ее отклонять.Вы можете найти пример кода об этом здесь .Второй подход заключается в том, чтобы отклонить клавиатуру, когда пользователь выбирает другую ячейку или даже когда прокручивается tableView.Для этого вы можете добавить соответствующий код в -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath или -(void)scrollViewDidScroll:(UIScrollView *)scrollView соответственно.

...