У меня есть приложение с основными данными, которое использует контроллер навигации для перехода к подробному представлению, а затем, если вы редактируете одну из строк данных в подробном представлении, вы попадаете в представление редактирования для этой единственной строки, как в Apple CoreDataBooks пример (за исключением того, что CoreDataBooks использует только UITextField
сам по себе, а не тот, который является подвидом UITableViewCell
, как у меня)!
Вид редактирования - это UITableviewController
, который программно создает свою таблицу с одной строкой раздела и UITextfield
в ячейке.
Я хочу, чтобы произошло то, что вы выбираете строку для редактирования, и представление редактирования помещается в стек навигации, а представление редактирования анимируется, перемещаясь по экрану, я хочу, чтобы текстовое поле было выбрано как firstResponder, чтобы клавиатура уже отображалась по мере того, как вид перемещается по экрану, чтобы занять позицию. Как в приложении "Контакты" или в приложении CoreDataBooks.
В настоящее время у меня есть следующий код в моем приложении, который вызывает загрузку представления, а затем вы видите, что появляется клавиатура (это не то, что я хочу, я хочу, чтобы клавиатура уже была там)
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[theTextField becomeFirstResponder];
}
Вы не можете поместить это в -viewWillAppear
, поскольку текстовое поле еще не создано, поэтому theTextField
равно нулю. В приложении CoreDataBooks, где они достигают того, чего я хочу, они загружают свое представление из пера, поэтому они используют тот же код, но в -viewWillAppear
, поскольку текстовое поле уже создано!
Есть ли способ обойти это без создания пера, я хочу сохранить программную реализацию, чтобы обеспечить большую гибкость.
Огромное спасибо