Сбросить ViewController при нажатии на значок панели вкладок - PullRequest
0 голосов
/ 30 марта 2019

У меня есть 3 элемента на панели вкладок, каждый из которых связан с отдельным viewController, и я хочу, чтобы они сбрасывались каждый раз, когда я переключаюсь между любыми из этих элементов.

Как я могу это сделать?

1 Ответ

0 голосов
/ 30 марта 2019

Вы можете создать подкласс для контроллера панели вкладок и выполнить в нем необходимые действия.

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

}
...