在我的应用程序中。我必须使用UISplitViewController
并且我想做添加UISplitViewController
到UINavigationController
但我不能这样做。
我也知道继承UISplitViewController
是不可能的。但这对我来说很重要UINavigationController
。
提前致谢 :)
在我的应用程序中。我必须使用UISplitViewController
并且我想做添加UISplitViewController
到UINavigationController
但我不能这样做。
我也知道继承UISplitViewController
是不可能的。但这对我来说很重要UINavigationController
。
提前致谢 :)
注意: UISplitViewController 必须是应用程序的根视图(或者更具体地说,可能是窗口)。它不能存在于 UINavigationController 或其他任何东西中。
参考can-a-uisplitviewcontroller-be-the-root-controller-in-a-uinavigationcontroller链接
我已经能够使用开源MGSplitViewController做到这一点。
您可以添加MGSplitViewController
委托,例如:- 在 .m 文件中
self.splitViewController = [[[MGSplitViewController alloc] init] autorelease];
//
MasterPage *aMasterPage = [[[MasterPage alloc] initWithNibName:@"MasterPage" bundle:[NSBundle mainBundle]] autorelease];
aMasterPage.splitViewController = self.splitViewController;
self.splitViewController.delegate = aMasterPage;
UINavigationController *navCntrl = [[[UINavigationController alloc] aMasterPage] autorelease];
[navCntrl.navigationBar setBarStyle:UIBarStyleBlackOpaque];
DetailPage *aDetailPage = [[[DetailPage alloc] initWithNibName:@"DetailPage" bundle:[NSBundle mainBundle]] autorelease];
UINavigationController *navCntrl2 = [[[UINavigationController alloc] initWithRootViewController:aDetailPage] autorelease];
[navCntrl2.navigationBar setBarStyle:UIBarStyleBlackOpaque];
[self.splitViewController setViewControllers:[NSArray arrayWithObjects:navCntrl, navCntrl2, nil]];
[self.window addSubview:self.splitViewController.view];
请参阅此问答 -是否可以在 iOS 应用程序的导航控制器中实现拆分视图控制器?
拆分视图控制器必须始终是您创建的任何界面的根。换句话说,您必须始终将 UISplitViewController 对象中的视图安装为应用程序窗口的根视图。然后,拆分视图界面的窗格可能包含导航控制器、选项卡栏控制器或实现界面所需的任何其他类型的视图控制器。拆分视图控制器不能以模态方式呈现。