当 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?的主要内容,如果未能解决你的问题,请参考以下文章

当 Spark master 失败时会发生啥?

当master服务器宕机,提升一个slave成为新的master

「故障演练」 Redis Cluster集群,当master宕机,主从切换

keepalived的抢占与非抢占模式

Redis的复制(Master/Slave)

elasticsearch笔记