【问题标题】:Reset ViewController when tab bar icon is clicked单击选项卡栏图标时重置 ViewController
【发布时间】:2019-08-21 09:31:44
【问题描述】:

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

我该怎么做?

【问题讨论】:

  • 在 viewWillAppear 中刷新您的页面

标签: swift xcode viewcontroller tabbar


【解决方案1】:

您可以为标签栏控制器创建一个子类并在其中执行所需的操作。

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

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多