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