当 Master 是 UITabBarController 时,从 UISplitViewController Detail 转到 Master?
Posted
技术标签:
【中文标题】当 Master 是 UITabBarController 时,从 UISplitViewController Detail 转到 Master?【英文标题】:Segue from UISplitViewController Detail to Master When Master is a UITabBarController? 【发布时间】:2012-05-07 11:38:10 【问题描述】:在选择注释标注时,我想从详细信息(映射视图)到主站(UITabbarController)中的第一个选项卡。第一个选项卡是我要更新的表格视图。
如果我转入表格视图并使用“替换”的转义样式,那么我会丢失标签栏。如果我选择“推送”,我会收到一个运行时错误,即接收器不是导航控制器。
我想我可以转至标签栏控制器,在地图视图上设置一个布尔值,然后通过转场赶上我想要的位置(表格视图)或使用应用程序委托,但我如果有的话,我想要一个更优雅的解决方案。
【问题讨论】:
【参考方案1】:如果我正确地理解了您的要求,那么您有一个带有一些选项卡的 UITabBarController,然后想要在其顶部临时推送一个详细信息(地图)视图。当地图视图被关闭时,您想回到相同的初始 UITabBarController 吗?
为此,更好的解决方案是将地图视图作为“模态”推送 - 在这种情况下,它将占据屏幕。只是要小心,因为您不能从本身关闭模态屏幕 - 理想情况下,它需要从首先显示它的视图控制器中关闭。例如,在推送模态视图控制器的类的 prepareForSegue 方法中,您可以将引用传回给自身或使用委托:
[modalViewController setParent:self];
那么在modal类中,当某个按钮或者其他事件触发dismiss时,你可以有:
[parent.modalViewController dismissModalViewControllerAnimated:YES];
有关详细信息,请参阅:http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html。
【讨论】:
感谢您的回复。我想使用 segue 从细节中更新主人。我不想将细节(地图视图)推送到主服务器上。以上是关于当 Master 是 UITabBarController 时,从 UISplitViewController Detail 转到 Master?的主要内容,如果未能解决你的问题,请参考以下文章
当master服务器宕机,提升一个slave成为新的master