从UISplitViewController详细信息看到Master当Master是UITabBarController时?

时间:2012-05-07 11:38:10

标签: ios uitabbarcontroller segue

当选择注释标注时,我想从细节(地图视图)到主控(UITabBarController)中的第一个选项卡。第一个选项卡是我想要更新的表视图。

如果我转向表视图并使用segue样式的'replace',那么我将失去标签栏。如果我选择'push',我会收到运行时错误,表明接收器不是导航控制器。

我想我可以选择标签栏控制器,在地图视图上设置一个布尔值,然后通过segues来查看我想要的位置(表格视图)或使用app delegate,但是我如果可以的话,请使用更优雅的解决方案。

1 个答案:

答案 0 :(得分:0)

如果我正确理解你的要求你有一个带有一些标签的UITabBarController,那么它想要暂时在它上面推送一个细节(地图)视图。当地图视图被解除时,你想回到相同的初始UITabBarController?

要做到这一点,更好的解决方案是将地图视图推送为“模态” - 在这种情况下,它将接管屏幕。只是要小心,因为你不能忽略模态屏幕本身 - 它需要理想地从首先显示它的viewcontroller中解散。例如,在推送模态视图控制器的类的prepareForSegue方法中,您可以将引用传递回自身或使用委托:

[modalViewController setParent:self];

然后在模态类中,当某个按钮或其他事件触发解雇时,您可以:

[parent.modalViewController dismissModalViewControllerAnimated:YES];

有关详细信息,请参阅:http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html