2012-03-24 42 views
0

我有具有两个UITableViewControllers一个SplitViewController - 一个主/根一个细节。一切都很顺利。如何在不丢失导航栏的情况下将子视图添加到UINavigation Controller?

我具有被用户选择的根视图控制器的项目之前的详细视图控制器上示出一个UIView。它的成立是这样的:

[self.navigationController.view addSubview:makeSentenceHelperView]; 
[self.navigationController.view bringSubviewToFront:makeSentenceHelperView]; 

的detailViewController设置像这样:

UINavigationController *detailNav = [[[UINavigationController alloc] initWithRootViewController:detailViewController] autorelease]; 

哪里detailViewController是UITableView的子类。

问题是,此子视图隐藏了详细视图控制器导航栏中的按钮和导航栏 - 这是在纵向模式下启动SVC时出现问题(无法选择具有根弹出菜单的根项目) 。

enter image description here

我怎样才能呈现视图的导航控制器内部,从而使导航栏和按钮出现在详细视图中?

+0

你为什么不只是显示的第一个项目的主视图默认的细节? – Bourne 2012-03-24 02:25:34

+0

因为当用户第一次开始使用应用程序时,他们不会成为表中的任何东西 - 我想向他们展示如何轻松上手。 – glenstorey 2012-03-24 02:37:59

+0

那么为什么不考虑像使用Pulse新闻和许多其他应用程序那样使用指南来进行应用程序类。 – Bourne 2012-03-24 02:41:02

回答

0

为了解决这个问题,我添加一个UINavigationController来帮助我的UIView,并增加了一个UIButtonBarItem致电酥料饼在主视图中选择一个新的项目。回想起来似乎很简单。唯一棘手的问题是在UIButtonBarItem处于横向时隐藏。

0

不要detailViewController的UIView的子类,而不是用的UIViewController去。所以,你的splitView数组包含的UINavigationController一个实例(rootVC)等UIViewController(detailVC)的。

添加工具栏上的detailViewController顶部和横向模式的左侧会被你的rootVC的UITableView被覆盖,你将能够看到工具栏,您可以添加一些按钮的右侧(可能会作为导航酒吧.. :)。其余的东西可以通过UISplitViewControllerDelegate来处理。

相关问题