0

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?

Luke B
  • 288
  • 2
  • 5
  • 18

1 Answers1

0

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
         }
    }

}
sinner
  • 483
  • 3
  • 14