在我的iPad应用中。我正在研究UISplitViewController
。在DetailViewController
UISplitViewController
中有按钮。按下该按钮时,它将导航到另一个视图控制器。在另一个视图控制器中,我不需要UISplitViewController
。如何解雇UISplitViewController
。我已经尝试了很多并用Google搜索,但我找不到任何解决方案。这是在浪费我的时间,所以如果有人参与其中,请指导我并发布示例代码。
我正在使用此代码
-(void)imgButtonpressed:(id)sender
{
MenuItemsListViewController *menuview=[[MenuItemsListViewController alloc]initWithNibName:@"MenuItemsListViewController" bundle:nil];
menuview.modelArray = imagesArray;
menuview.image = [sender tag]*2;
[self.navigationController pushViewController:menuview animated:YES];
}
答案 0 :(得分:-1)
使用UISplitView时遇到了同样的问题。事实上,当我终于想出如何在rootviewcontroller之上推送splitview时,我仍然遇到了问题。
所以,我相信有很多新手都对这个问题感到沮丧。我试着通过这里的大量阅读来找出解决方案。
这就是我做的事情(你可以对任何其他观点做同样的事情):
这将解除splitview并推送另一个splitview:
SplitViewController *split = [[SplitViewController alloc]init];
self.leftController = [[LeftViewController alloc]init];
UINavigationController *leftNav = [[UINavigationController alloc]initWithRootViewController:leftController];
self.rightController = [[RightViewController alloc]init];
UINavigationController *rightNav = [[UINavigationController alloc]initWithRootViewController:rightController];
split.viewControllers = [NSArray arrayWithObjects:leftNav,rightNav, nil];
split.delegate = self.rightController;
YourAppDelegate *delegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
delegate.window.rootViewController = split;
第二个选项是:
NSMutableArray *allViewControllers = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];
[allViewControllers replaceObjectAtIndex:0 withObject:split];
self.navigationController.viewControllers = allViewControllers;
希望这对那些偶然遇到同样问题的人有所帮助。
干杯!
答案 1 :(得分:-2)
Apple并不希望您将拆分视图控制器推入导航控制器。他们的指导说如果你使用UISplitViewController,它必须在你的应用程序中始终可见(因此你不能删除它),除了用模态视图控制器覆盖它。
如何以模态方式呈现viewcontroller?
MenuItemsListViewController *menuview=[[MenuItemsListViewController alloc]initWithNibName:@"MenuItemsListViewController" bundle:nil];
menuview.modalPresentationStyle = UIModalPresentationFullScreen;
[self.splitViewController presentViewController:menuview animated:YES completion:nil];
来源:How can we push UISplitVIewController to a UINavigationController