タブバーベースのアプリケーション (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) でこのコードを使用しようとしましたが、うまくいきませんでした。私がやろうとしていることを達成するには、他にもいくつかの方法があることを知っています。たとえば、タブ バー コントローラーの最初のビュー コントローラーに子コントローラーを追加し、タブ バーを非表示にします。しかし、このため、私はさらに興味をそそられます.子ビューコントローラーをタブバーコントローラーに追加すると、期待どおりに機能しないのはなぜですか?