如何通过单击 tabBarItem 关闭 ModalViewController

Posted

技术标签:

【中文标题】如何通过单击 tabBarItem 关闭 ModalViewController【英文标题】:how to dismissModalViewController by clicking tabBarItem 【发布时间】:2012-01-03 12:27:20 【问题描述】:

当我在我的 tableView 中 didSelectRowAtIndexPath 时,我的 DetailView 被加载。在 detailView 中,我可以使用 backButton 返回到 tableView,这会关闭 detailview。

在我的应用程序中,我每次都有一个 tabBar(tabbarcontroller)。当 detailView 被加载并且在返回按钮被点击一个 tabBarItem 的情况下,detailViewController 不会被解除这意味着,如果我 didSelectRowAtIndexPath,我不能再次加载 detailView。

有人可以帮我解决这个问题吗?

谢谢, 刷子51

【问题讨论】:

【参考方案1】:

UITabBarDelegate 协议有一个名为 tabBar:didSelectItem: 的方法。您可以使用此方法检测何时选择了 UITabBarItem,然后调用方法关闭 detailViewController。

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITabBarDelegate_Protocol/Reference/Reference.html

【讨论】:

谢谢。我试过: tabBar didSelectItem: if (item.tag == 1) NSLog(@"test"); 不工作。实际上,我正在使用 tabBarController didSelectViewController:。当视图发生变化时,无论如何都在这里调用解雇? 您是否将委托设置为实现该方法的类? tabbarcontroller:didSelectViewController 在我的 AppDelegate 中。我设置了tabbarcontroller的代表。这里:self.tabBarController.delegate = self;你能告诉我,我如何从 tabbarcontroller:didSelectViewController 中找出 detailViewController 是否已加载?

以上是关于如何通过单击 tabBarItem 关闭 ModalViewController的主要内容,如果未能解决你的问题,请参考以下文章

iOS8如何设置TabBarItem图片

邮件 TabBarItem dismissModalViewControllerAnimated

如何通过单击栏按钮关闭弹出框

如何通过单击菜单外部来关闭移动菜单

如何通过单击对话框外部来关闭对话框?

如何通过单击按钮关闭 jQuery fancybox