У меня есть приложение на основе панели вкладок (iOS 7.1 SDK). Когда пользователь запускает приложение в первый раз, я хочу показать экран входа в систему. Я решил использовать сдерживание контроллера представления (это называется в контроллере первого представления контроллера панели вкладок):
LoginViewController *vc = [LoginViewController new];
[self.tabBarController addChildViewController:vc];
[vc didMoveToParentViewController:self.tabBarController];
[self.tabBarController.view addSubview:vc.view];
Но есть некоторые проблемы. View обычно виден, но в LoginViewController viewWillAppear и viewDidAppear никогда не вызываются. Я пытаюсь использовать этот фрагмент кода во всех методах жизненного цикла представления (viewDidLoad, viewWillAppear, viewDidAppear), но безуспешно. Я знаю, что есть и другие способы добиться того, что я пытаюсь сделать. Например, добавьте дочерний контроллер в первый контроллер представления контроллера панели вкладок и скройте панель вкладок, которая отлично работает, и обычно вызываются viewWillAppear и viewDidAppear. Но из-за этого мне становится еще более любопытно - почему добавление дочернего контроллера представления к контроллеру панели вкладок не работает должным образом?