У меня есть UITableViewController
с пользовательскими UITableViewCell
s, которые содержат UITextField
. При переключении табличного представления в режим редактирования я добавляю новую ячейку внизу таблицы и хочу сделать эту ячейку becomeFirstResponder
. Мой метод tableView:cellForRowAtIndexPath:
проверяет эту нижнюю ячейку, поэтому я просто добавил строку:
[cell.theTextField intoFirstResponder];
Который, по моему мнению, должен работать. Однако, когда табличное представление впервые отображается, оно, кажется, не работает. НО, если я выберу ячейку (сделав ее первым респондентом), а затем выйду из режима редактирования (вызывая resignFirstResponder
в моем коде), я смогу затем вернуться в режим редактирования и волшебным образом он станет первым респондентом, как я и ожидал !
Обратите внимание, что даже если я закончу режим редактирования с другой выбранной ячейкой (у всех из них есть текстовые поля) и выйду из режима редактирования, то вернусь, он все еще работает, , пока В какой-то момент я сделал последнюю ячейку becomeFirstResponder
(выбрав ее).
Итак, я предполагаю, что когда он впервые становится первым респондентом, что-то устанавливается в табличном представлении или в каком-то другом месте, которое не было изначально установлено, и с тех пор это делает эту работу.
У кого-нибудь есть идеи относительно того, что здесь может происходить?