стал первым ответчиком не стреляет - PullRequest
4 голосов
/ 24 августа 2011

У меня есть контроллер представления, у которого метод viewDidLoad вызывает сталтеф.Респондер в текстовом поле (электронная почта), содержащемся в связанном представлении:

-(void) viewDidLoad {
   [email becomeFirstResponder];
}

Этот контроллер вида загружается путем помещения его в стек контроллера навигации. Приведенный выше код отлично работает в первый раз.

Однако позже в приложении, когда я хочу вернуться к этому контроллеру вида, клавиатура не появляется автоматически (это при использовании popToViewController: animated). Вместо этого пользователь должен вручную установить фокус на текстовое поле, чтобы клавиатура появлялась ... Мне кажется, viewDidLoad не вызывается после popToViewController: animated загрузил соответствующий контроллер представления?

Как мне решить эту проблему?

Ответы [ 2 ]

4 голосов
/ 24 августа 2011

viewDidLoad вызывается только в первый раз.Используйте viewWillAppear, когда хотите, чтобы что-то запускалось каждый раз, когда появляется представление.

3 голосов
/ 24 августа 2011

Попробуйте выставить его на экран.viewDidLoad обычно запускается только один раз, если вы не укажете это иначе.

- (void)viewWillAppear:(BOOL)animated {

            [email becomeFirstResponder];

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...