Как предотвратить взаимодействие UITableView, пока UITextField является первым ответчиком

#iphone #objective-c #uitableview #uitextfield

#iPhone #objective-c #uitableview #uitextfield

Вопрос:

Есть ли простой способ предотвратить взаимодействие с пользователем при вводе текста в UITextField (текстовое поле находится в ячейке TableView)?

Я уже пробовал это:

 - (void)textFieldDidBeginEditing:(UITextField *)textField {
    self.tableView.userInteractionEnabled = NO;
}
  

в результате клавиатура также перестает отображаться…

Ответ №1:

Первая мысль, которая приходит на ум, — добавить прозрачное наложение UIView, которое «замаскировало» бы все, что окружает вашу ячейку, перехватывая все события касания. Я полагаю, что это должно было бы быть два наложения — одно для над ячейкой и одно для ниже.

Комментарии:

1. я почти уверен, что это сработает … но мне просто интересно, есть ли простой способ «просто установить одно предпочтение» для этого ^^

2. Для этого нет единой настройки. Любая модальность пользовательского интерфейса, которую вы хотите использовать в своем приложении, должна быть настроена на заказ. Единственными встроенными классами, которые являются модальными в пользовательском интерфейсе, являются UIAlertView и UIActionSheet.