我有一个SplitViewController,它有两个UITableViewControllers - 一个主/一个细节。一切都在游泳。
我有一个UIView,它在用户选择根视图控制器中的项目之前显示在详细视图控制器上。它的设置如下:
[self.navigationController.view addSubview:makeSentenceHelperView];
[self.navigationController.view bringSubviewToFront:makeSentenceHelperView];
detailViewController的设置如下:
UINavigationController *detailNav = [[[UINavigationController alloc] initWithRootViewController:detailViewController] autorelease];
其中detailViewController
是UITableView的子类。
问题是此子视图隐藏了详细视图控制器导航栏中的按钮和导航栏 - 当您以纵向模式启动SVC时,这是一个问题(无法选择具有根弹出窗口的根项目)。
如何在导航控制器中显示视图,以便导航栏和按钮显示在详细视图中?
答案 0 :(得分:0)
不要让detailViewController
成为UIView的子类,而是使用UIViewController。因此,您的splitView
数组将包含UINavigationController
(rootVC)和UIViewController
(detailVC)的其他实例。
在detailViewController
顶部添加工具栏,在横向模式下,左侧将覆盖您的rootVC
的UITableView,您将可以看到工具栏,您可以在其右侧添加一些按钮方(可能会作为导航栏.. :)。其余的事情可由UISplitViewControllerDelegate
处理。
答案 1 :(得分:0)
为了解决这个问题,我向我的助手UIView添加了一个UINavigationController,并添加了一个UIButtonBarItem来调用popover以在主视图中选择一个新项目。回想起来似乎很简单。唯一棘手的一点就是在横向时隐藏UIButtonBarItem。