CustomViewContainer として機能する 1 つのビュー コントローラーがあり、2 つの子ビュー コントローラーがあり、起動時に最初に追加されるのは 1 つだけです。
addChildViewController
子のコンテナから呼び出し、その後子で を呼び出すと、自分didMoveToParentViewController
の子ビューが画面に表示されません。代わりに、親コントローラーのビューがまだ表示されます。
@implementation ContainerViewController // inherits from UIViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
LOG_METHOD_SIG();
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])
{
// ChildViewController is a subclass of UIViewController
_childController = [[ChildViewController alloc] initWithNibName:nil bundle:nil];
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self addChildViewController:_childController];
// Expected the following line to display the child controller's view
[_childController didMoveToParentViewController:self];
}
[self.view addSubview:_childController.view]
の後に追加する'addChildViewController'
と、ビューが表示されます。しかし、コンテナビューコントローラーの要点は、ビューの直接操作を避けることだと思いました。
最初の子ビュー コントローラーを追加する場合、'transitionFromViewController` を呼び出すことができますか? もしそうなら、'from' ビュー コントローラーは何でしょうか?