【发布时间】:2017-04-08 08:33:49
【问题描述】:
为简单起见,我将我的 viewControllers 称为 VC1,VC2...
我有一个TabBarController 作为我的根viewController。它包含 3 个选项卡,每个选项卡都包含一个 UITableViewController。所以我在TabBarController 的索引0 处有VC1,在索引1 和VC3 和索引2 处有VC2。现在我想检测用户何时点击TabBarController 的索引0 去VC1。我已经尝试使用UITabBarDelegate 如下。
func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) {
if self.tabBarController?.selectedIndex == 0 {
// do something
}
}
当我从 VC1 转到 VC2 并从 VC2 回到 VC1 时,它确实有效。但是如果我从 VC1 去 VC3 然后再回到 VC1 就不行了。有人能解释一下为什么吗?
我真正想要实现的是用户从 VC2 或 VC1 转到 VC3。现在用户点击进入 VC4 的 tableViewCell。现在,每当用户回到 VC1 时,我都想调用一个 webService。
【问题讨论】:
-
你如何设置它们?
-
您可以简单地尝试
override func viewDidAppear(_ animated: Bool) { if self.tabBarController?.selectedIndex == 0 { print("vc1") } }将相同的代码应用到您的VC2和VC3与selectedIndex1,2....?
标签: ios swift navigation uitabbarcontroller tabbar