Если ваш UIView
содержит ваш UITableView
, тогда вид таблицы находится в верхней части цепи ответчика, и события касания не будут отображаться в вашем представлении. Но может быть лучший способ сделать это. Что вы после?
UPDATE
Реализовать «textFieldShouldReturn:
метод s перехватить нажатие 'UITextFieldDeletate
Return':
-(BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
Кроме того, UITableViewDelegate является UIScrollViewDelegate, так что вы можете подключить в эти методы, чтобы определить, когда пользователь взаимодействует с табличным представлением.
Вообще-то, я думаю, вам не нужно беспокоиться о том, чтобы сразу же закрыть клавиатуру, когда пользователь прикасается к ней, особенно если у вас есть другие текстовые входы на одном экране.
Moar
Хорошо, достаточно справедливо, но вещи начинают усложняться, когда вы перехватывать событие прикосновения через композитные прозрачные просмотры (это может дорого обойтись, а), и так далее. И вы никогда не узнаете последствий, которые возникнут в будущем, не только для пользователя, но и для вас, когда вы хотите обновить приложение в будущем.
Почему бы не сохранить его простым? Как насчет только «Готово» UIBarButtonItem
, или немного полупрозрачного UIToolbar
, который скользит вверх по клавиатуре/сборщику ala Mobile Safari? Эти решения приемлемы для пользователя и могут облегчить жизнь. Они, безусловно, облегчают разработку, разделяя артефакты и функциональность на модульные устройства.
Последнее замечание
Использование UITapGestureRecognizer Я думаю, что будет трудно получить прямо в вашей ситуации. Я обеспокоен тем, что любой атрибут распознавания подключений, который вы добавляете в представление таблицы, предотвратит такие вещи, как выбор строки или перемещение элемента управления другому элементу интерфейса (текстовое поле, переключатель и т. Д.).
Я только что заметил. Если я уменьшу размер моего TableView, я могу щелкнуть его вне (так в моем UIView), и в этом случае он работает. Поэтому проблема заключается в том, когда я нажимаю на tableView. Не знаю, как это сделать. – ChrisTauziet