单击选项卡栏图标时重置ViewController

问题描述 投票:0回答:1

我的标签栏中有3个项目,每个项目链接到一个单独的viewController,我希望每次在任何这些项目之间切换时它们都会重置。

我怎样才能做到这一点?

swift xcode viewcontroller tabbar
1个回答
0
投票

您可以为选项卡栏控制器创建子类并在其中执行所需的操作。

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

}
© www.soinside.com 2019 - 2024. All rights reserved.