Звонок на viewDidAppear:
всегда должен следовать за viewWillAppear:
, если вы не делаете что-то свое, чего, как вы говорите, вы не делаете.Я не знаю, почему это не работает, но вот несколько идей:
Может быть, вы делаете что-то странное в одном из методов делегата для UITextFieldDelegate
?Маловероятно, что это повлияет на вызов viewDidAppear:
, но это может быть причиной.
Вы загрузили много вещей в память, прежде чем открывать окно?Я не уверен, что произойдет, если вы получите предупреждение памяти между viewWillAppear:
и viewDidAppear:
.
Вы пытались сделать Чистку?Иногда это может помочь.
В подобных случаях, когда это должно работать, я обычно создаю новый класс и представляю функциональность по одному, чтобы посмотреть, смогу ли я заставить его работать таким образом.Я попробовал ваш код в новом проекте на основе навигации, где я добавил новый UIViewController
с выходом в текстовое поле.Затем я вставил код из вопроса, и он работал как ожидалось.