tableViewControllerをcontainerViewControllerの子ビューコントローラとして追加したい(下記参照)。正常に動作している、実際には子ビューコントローラのビューを親ビューコントローラのサブビューに追加する
[self addChildViewController:tableViewController];
[self.view addSubview:tableViewController.view];
[tableViewController didMoveToParentViewController:self];
:AppleのView Controller Programming Guideによると、私は自分のcontainerViewController内のコードの次の行でこれを達成することができます。問題は、tableViewControllerのビューをcontainerViewControllerのルートビューのサブビューとして追加したくないということです。代わりに、containerViewControllerのルートビューのサブビューであるcontainerView(画像参照)のサブビューとして追加したいと思います。次のようにだから私は上記のコードを変更:私はそれがこのエラーですぐにクラッシュしたアプリ起動したときに
[self addChildViewController:tableViewController];
[self.contentView addSubview:tableViewController.view];
[tableViewController didMoveToParentViewController:self];
は今:
Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'child view controller: should have parent view controller: but actual parent is:'
をここでの問題は何ですか? childViewControllerのビューを特定のものに追加することはできませんサブ view of containerViewController?または、どのように私はビューコントローラ階層でエラーなしでこれを達成することができますか?
あなたはそのことについて確認していて、そのコードをテストしていますか?私はそれを試みましたが、childViewControllerのビューをcontainerViewControllerのルートビューまたはそのサブビューのいずれかに追加するかどうかは違いがあります。 – Mischa
@ミーシャ答えにソースコードが含まれています。チェックしてください。 – Anupdas
+1 for tableViewController.view.frame = self.contentView.bounds; – onmyway133