如何从 UISplitViewController IOS 5 导航回来?

Posted

技术标签:

【中文标题】如何从 UISplitViewController IOS 5 导航回来?【英文标题】:How to navigate back from UISplitViewController IOS 5? 【发布时间】:2012-04-25 12:20:17 【问题描述】:

我有 6 个视图,其中我将 UISplitViewController 放置在第 4 个位置(即第 4 个视图)。现在,当我从第三个视图导航到第四个视图(即 ViewController 到 SplitView)时,我想回到第四个视图到第三个视图(即 SplitView 到 ViewController)。

当我从第三个视图导航到第四个视图时,我使用下面的代码来显示 UISplitViewController。

MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil];
            UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];

            DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
            UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController];

            masterViewController.detailViewController = detailViewController;
            self.splitViewController = [[UISplitViewController alloc] init];
            self.splitViewController.delegate = detailViewController;
            self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, detailNavigationController, nil];
            AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
            appDelegate.window.rootViewController = self.splitViewController;

现在我以编程方式在导航栏中创建了一个工具栏并放置了一个后退按钮。下面是我试图将视图弹出回视图控制器的代码。 (即从 SplitView 到 ViewController)。

-(IBAction)backbtn:(UIBarButtonItem *)sender

//    RepresentativeAccount<UISplitViewControllerDelegate> *represent = [[RepresentativeAccount alloc]initWithNibName:@"RepresentativeAccount" bundle:nil];
//    //[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:2] animated:YES];
//    [[self.splitViewController.viewControllers objectAtIndex:0]popToViewController:represent animated:YES];

请帮忙谢谢。

【问题讨论】:

你的英文措辞令人困惑。?你能放一些你的应用程序的快照(通过 prssing cmd+shift+4 打印屏幕)吗?所有人都很容易知道你的问题 @hpiosCoder 请检查我编辑的解释。如果您了解我的问题,请提供帮助。谢谢 hmmm..现在你编辑的问题正在解释问题。! 【参考方案1】:

参考:View Controller Catalog for iOS

拆分视图控制器必须始终是您的任何界面的根 创建。

换句话说,您必须始终将来自UISplitViewController 对象的视图安装为应用程序窗口的根视图

然后,您的拆分视图界面的窗格可能包含导航 控制器、标签栏控制器或任何其他类型的视图控制器 你需要实现你的接口。

拆分视图控制器不能以模态方式呈现。

因此,您的尝试是错误的,实际上您的应用可能会被 Apple 拒绝。

【讨论】:

在默认项目中,split view controller 已经添加,我们需要有可能弹出它

以上是关于如何从 UISplitViewController IOS 5 导航回来?的主要内容,如果未能解决你的问题,请参考以下文章

UISplitViewController 重新加载数据

从 UINavigationController 切换到 UISplitviewController

从 UITabBarController 推送的 UISplitViewController

从 UISplitViewController 呈现的 modalViewController 出现方向错误

UISplitViewController - 从详细信息更新主表视图

带有情节提要的 iPad 上的 UISplitViewController?