2

在我的 iPad 应用程序中。我正在努力UISplitViewController。在DetailViewController里面UISplitViewController有按钮。当按下该按钮时,它会导航到另一个视图控制器。在另一个视图控制器中我不需要UISplitViewController。如何解雇UISplitViewController。我已经尝试了很多并用谷歌搜索,但我没有找到任何解决方案。它正在消磨我的时间,所以如果有人对此进行了研究,请指导我并发布示例代码。

我正在使用此代码

-(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];

}
4

2 回答 2

-1

我在使用 UISplitView 时遇到了同样的问题。事实上,当我终于弄清楚如何在 rootviewcontroller 上推送 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;

希望这对遇到同样问题的其他人有所帮助。

干杯!

于 2013-03-15T07:00:18.963 回答
-2

Apple 不希望您将拆分视图控制器推入导航控制器。他们的指导方针说,如果你使用 UISplitViewController,它必须在你的应用程序中始终可见(因此你不能删除它),除非用模态视图控制器覆盖它。

如何以模态方式展示您的视图控制器?

MenuItemsListViewController *menuview=[[MenuItemsListViewController alloc]initWithNibName:@"MenuItemsListViewController" bundle:nil];

menuview.modalPresentationStyle = UIModalPresentationFullScreen;
[self.splitViewController presentViewController:menuview animated:YES completion:nil];

来源:我们如何将 UISplitVIewController 推送到 UINavigationController

于 2013-02-19T13:30:19.470 回答