私はUINavigationController
そのようにコンテナビューの中に入れています(これはフルスクリーンUIViewController
サブクラスにあります):
UIViewController *litteViewController = [[UIViewController alloc]initWithNibName:nil bundle:nil];
UINavigationController *littleNavigator = [[UINavigationController alloc]initWithRootViewController:litteViewController];
UIView *containerView = [[UIView alloc]initWithFrame:CGRectMake(100.0, 100.0, 250.0, 320.0)];
littleNavigator.view.frame = containerView.bounds;
[self addChildViewController:littleNavigator];
[containerView addSubview:littleNavigator.view];
[self.view addSubview:containerView];
[littleNavigator didMoveToParentViewController:self];
これで期待どおりに動作littleViewController
し、上部にナビゲーション バーがあると思われる四角形に表示されます。littleViewController
内部での相互作用の結果として、このようなことが起こるとしましょう
-(void)someButtonAction:(id)sender{
UIViewController *secondLittleViewController = [[UIViewController alloc]initWithNibName:nil bundle:nil];
[self.navigationController presentModalViewController:secondLittleViewController animated:YES];
}
残念ながら、この後続のコントローラーはフルスクリーンで表示されてしまいます。今、私は内部popoverControllers
でこれを正確に実行splitViewControllers
しましたが、それらは私が望んでいたとおりに動作しました。ナビゲーション スタックは、それが開始された小さな長方形内に構築されます。
任意の CGRect でコンテナー内にナビゲーション スタックを構築するにはどうすればよいですか?