I have 3 items in my tab bar, each linked to a separate viewController, and I want them to reset each time I switch between any of these items.
How can I do this?
I have 3 items in my tab bar, each linked to a separate viewController, and I want them to reset each time I switch between any of these items.
How can I do this?
You can create a subclass for your tab bar controller and perform required actions in it.
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
}
}
}