MainViewContoroller の viewDidLoadメソッドを、
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. SubViewController * subViewController = [[SubViewController alloc] init]; [self presentViewController:subViewController animated:YES completion:nil]; }
的な感じで実装したら、
Warning: Attempt to present <SubViewController: 0x10c908260> on <MainViewController: 0x10c9037d0> whose view is not in the window hierarchy!
と怒られました。
- (void)viewDidAppear:(BOOL)animated { SubViewController * subViewController = [[SubViewController alloc] init]; [self presentViewController:subViewController animated:YES completion:nil]; }
という感じで、viewDidAppear内に移動したらOKでした。
viewDidAppearがいつ呼ばれているのかわかっていなかったのですが、
親切な方が この記事 を教えてくれました。非常にわかりやすいです。