Я видел несколько тем о том, как закрыть клавиатуру, когда UITextField теряет фокус, но у меня это не сработало, и я не знаю, как это сделать. "TouchesBegan: withEvent:" в следующем коде никогда не вызывается. Почему?
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
if ([self.textFieldOnFocus isFirstResponder] && [touch view] != self.textFieldOnFocus) {
[textFieldOnFocus resignFirstResponder];
}
[super touchesBegan:touches withEvent:event];
}
P.S .: Этот код был вставлен в контроллер представления, у которого есть UITableView. UITextField находится в ячейке из этой таблицы.
Итак, мое мнение таково: этот метод не вызывается, потому что прикосновение происходит к UITableView из моего ViewController. Итак, я думаю, что мне нужно создать подкласс UITableView, чтобы использовать этот метод, как я видел в других потоках, но это может быть более простой способ.
Не могли бы вы мне помочь? Большое спасибо!