0

私は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 でコンテナー内にナビゲーション スタックを構築するにはどうすればよいですか?

4

1 に答える 1

1

iPhone および iPod touch では、提示されたビューは常にフルスクリーンです。したがって、pushViewController に変更する必要があります

お役に立ててうれしいです

于 2014-09-14T14:43:43.640 に答える