У меня есть UITextField
, настроенный в UITableViewCell
, для элемента управления, имитирующего это в собственном приложении контактов Apple, когда вы собираетесь редактировать поле. Все это в основном работает нормально, за исключением небольшой ошибки пользовательского интерфейса.
UITableView
является частью UIViewController
, созданного и загруженного из XIB, но текстовое поле создается программно (и становится первым респондентом) в tableView:cellForRowAtIndexPath:
, чтобы его можно было добавить в ячейку.
Это приводит к небольшому отставанию клавиатуры, когда контроллер представления помещается в стек, а вскоре появляется клавиатура.
Однако приложение «Контакты» объединяет все это в одно целое.
Как я могу исправить это отставание? Я попытался переместить создание текстового поля и первый ответ на viewDidLoad
, и это не помогло. Я даже попытался создать layoutSubviews
и вызвать его из-за пределов контроллера представления, прежде чем он был помещен в стек.
К сожалению, не похоже, что текстовое поле на самом деле становится первым респондентом до тех пор, пока оно не станет частью ячейки - задолго до того, как представление было перемещено.