如何知道我之前在 iOS 中的标签栏视图控制器是哪个?

Posted

技术标签:

【中文标题】如何知道我之前在 iOS 中的标签栏视图控制器是哪个?【英文标题】:How to know which was my previous tab bar view controller in iOS? 【发布时间】:2014-05-08 21:03:40 【问题描述】:

假设我有 4 个标签栏视图控制器。在第三个标签栏视图控制器中执行功能后,我以编程方式进入第二个标签栏视图控制器。当我到达第二个标签栏视图控制器时,我怎么知道我来自第三个标签栏视图控制器?

【问题讨论】:

【参考方案1】:

您可以通过UITabBarControllerDelegate 方法轻松跟踪:

例如,您可以实现tabBarController:shouldSelectViewController: 并检查标签栏控制器的selectedIndexselectedViewController 属性(仍将包含 old 值,因为该方法在更改之前被调用)。

或者,您可以只实现 tabBarController:didSelectViewController: 并自己跟踪最后选择的视图控制器/索引。

但请记住,这两种方法仅在用户启动标签更改时调用,而不是那些以编程方式完成的。

【讨论】:

以上是关于如何知道我之前在 iOS 中的标签栏视图控制器是哪个?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中检索数据并将数据传递给标签栏控制器的子视图?

在标签栏控制器之前添加视图控制器

如何在标签栏控制器视图上创建后退按钮?

标签栏(视图控制器)中多次调用ios的通知中心方法方法?如何删除观察者?

标签栏 ios6 中的 UISplitViewController

如何访问标签栏控制器中的标签栏?