弹出 MasterViewcontroller 时推送 DetailViewController

Posted

技术标签:

【中文标题】弹出 MasterViewcontroller 时推送 DetailViewController【英文标题】:push DetailViewController when popping MasterViewcontroller 【发布时间】:2013-05-20 04:46:38 【问题描述】:

在我的 iPad 主详细信息应用程序中,我有一个主视图控制器,其中包含表视图和详细视图。当用户单击一行时,它会推送另一个主视图和详细视图,现在当我单击主视图上的后退按钮时,只有主视图弹出。我需要知道如何在用户单击主视图后退按钮时弹出详细视图控制器甚至推送它(我已将导航栏设置为隐藏在详细视图中并希望保持不变)

【问题讨论】:

【参考方案1】:

基本上,当单击返回按钮时,会调用viewWillDisappear 方法。所以是的,当在主视图控制器上调用此方法时,您可以推送所需的详细视图控制器:

-(void) viewWillDisappear:(BOOL)animated 
   //Push desired detail view controller
   //If you want to use tags, make sure you set a tag for the view property of each master view controller before you push it to the stack
   if (self.view.tag == 1) 
     //For example, assuming views are tagged from 0, this is second master view controller 
    

【讨论】:

这行得通,但问题是它在从第二个主视图弹出到第一个主视图时以及从第二个主视图推送第三个主视图时都有效。我需要它仅在弹出第 2 到第 1 时才能工作。 这很简单,你只需为每个主视图控制器设置一个tag1,2,3, etc,然后每次比较它就知道哪个主视图是当前的。或者,如果您每次使用不同的标题,另一种方法是比较导航栏的标题。告诉我。

以上是关于弹出 MasterViewcontroller 时推送 DetailViewController的主要内容,如果未能解决你的问题,请参考以下文章

UISplitViewController 中的 masterViewController 未显示

移动到显示 UITableView 的弹出窗口中的下一个视图

如何将 .xib 与 MasterViewController .h & .m 关联

从 MasterViewController 呈现的 ModalView 在 iOS 5.1 中不再是全屏

如何在 masterViewController 中呈现 modalViewController?

在 UISplitViewNavigator 的 MasterViewController 上呈现 ViewController