如何在 swift 中重新加载打开的标签栏

how to reload an opened tab bar in swift

我的应用程序有三个选项卡。在选项卡 1 中,视图控制器允许用户将联系人的姓名添加到选项卡 2(一个按钮完成此任务)。一旦按下按钮,名称就会添加到选项卡 2,并且该按钮将被禁用以供将来操作。

但是当用户从选项卡 2 中删除名称时,应该再次启用该按钮。如果我通过导航控制器重新加载选项卡 1,我可以执行此操作,但如果我从选项卡 2 切换到选项卡 1,即使用户已从选项卡 2 中删除名称,该按钮仍处于禁用状态。

当用户删除了选项卡 2 中的名称时如何刷新选项卡 1

通过 TabbarController 从选项卡 2 VC 访问您的选项卡 1 VC。并在删除数据后启用按钮。

    if let tabbarControllers = self.tabBarController?.childViewControllers {
        if let firstController = tabbarControllers[0] as? YourFirstVC {
              firstController.yourButtonOutlet.isUserInteractionEnabled = true
         }
   }

如果您的选项卡 1 vc 嵌入到导航控制器中,则使用。

if let tabbarControllers = self.tabBarController?.childViewControllers {
    if let firstControllersNavigation = tabbarControllers[0] as? UINavigationController {
        if let firstController = firstControllersNavigation.childViewControllers[0] as? YourFirstVC {
           firstController.yourButtonOutlet.isUserInteractionEnabled = true
        }
     }
}