У меня есть UITableViewController с несколькими пользовательскими ячейками, каждая из которых содержит один UITextView. Я хотел бы, чтобы, если пользователь редактирует ячейку A, а затем щелкает ячейку B, ячейка A заканчивает редактирование, но ячейка B не начинает редактирование.
Прямо сейчас у меня есть следующий распознаватель жестов, который завершает редактирование ячейки при нажатии вне tableView :
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(dismissKeyboard)];
[tap setCancelsTouchesInView:NO];
[self.view addGestureRecognizer:tap];
Но при нажатии на другой UITextView это текстовое представление вызывает shouldBeginEditing
afterwards и, следовательно, игнорируется.
Я пробовал играть с функциями textViewShouldBeginEditing
/textViewShouldEndEditing
, но безуспешно. Я не знаю, следует ли мне двигаться в этом направлении или создать еще один распознаватель жестов с пользовательским связанным действием?