如何将UINavigationController实现为标准UIView

时间:2010-05-03 08:41:12

标签: iphone uiviewcontroller uinavigationcontroller nested

这是我目前的申请结构:

  • 的UIWindow
    • UIViewController(Root View Controller)
      • 的UINavigationController
      • 的UITableView
    • UIViewController(PresentModalViewControllerAnimated:YES)
      • 的UITableView

这就是我想要的:

  • 的UIWindow
    • UIViewController(Root View Controller)
      • 的UINavigationController
      • 的UITableView
    • UIViewController(PresentModalViewControllerAnimated:YES)
      • 的UINavigationController
      • 的UITableView

我有一个向上滑动的视图,我希望该视图拥有自己的UINavigationController。这是应用程序设置所以我想要嵌套选项。

任何想法如何做到这一点?

应用程序类型是一个导航应用程序,它是Root View Controller的UINavigationController来自的地方。

1 个答案:

答案 0 :(得分:1)

请注意,UINavigationController继承自UIViewController,因此您可以将其显示为模态视图控制器。我创建了一个简单的测试应用程序,这种方法运行良好。

呈现导航控制器:

ChildController* controller = [[ChildController alloc] initWithNibName:@"childController" bundle:nil];
UINavigationController* childNav = [[UINavigationController alloc] initWithRootViewController:controller];
[self presentModalViewController:childNav animated:YES];    
[controller release];
[childNav release];

然后从其层次结构中的任何控制器中取消模态控制器

[self.navigationController dismissModalViewControllerAnimated:YES];