【发布时间】:2019-08-21 09:31:44
【问题描述】:
我的标签栏中有 3 个项目,每个项目都链接到一个单独的 viewController,我希望每次在这些项目之间切换时重置它们。
我该怎么做?
【问题讨论】:
-
在 viewWillAppear 中刷新您的页面
标签: swift xcode viewcontroller tabbar
我的标签栏中有 3 个项目,每个项目都链接到一个单独的 viewController,我希望每次在这些项目之间切换时重置它们。
我该怎么做?
【问题讨论】:
标签: swift xcode viewcontroller tabbar
您可以为标签栏控制器创建一个子类并在其中执行所需的操作。
class TabBarViewController: UITabBarController, UITabBarControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
}
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
let viewController0: UIViewController? = tabBarController.viewControllers?[0] as? UIViewController
let viewController1: UIViewController? = tabBarController.viewControllers?[1] as? UIViewController
let viewController2: UIViewController? = tabBarController.viewControllers?[2] as? UIViewController
switch self.selectedIndex {
case 0:
// Refresh viewController1
// Refresh viewController2
case 1:
// Refresh viewController2
// Refresh viewController3
case 2:
// Refresh viewController0
// Refresh viewController1
default:
break
}
}
}
【讨论】: