代码之家  ›  专栏  ›  技术社区  ›  DevWithZachary

阻止选项卡移动到下一个视图控制器OnSelect

  •  0
  • DevWithZachary  · 技术社区  · 6 年前

    我的选项卡上有一个项目,我不想实际移动到它的视图控制器,但是当单击该项目时,会发生一些事情(当前视图控制器上会出现弹出对话框)。

    我现在有当前代码:

    class TabViewController: UITabBarController, UITabBarControllerDelegate {
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            // tell our UITabBarController subclass to handle its own delegate methods
            self.delegate = self
    
        }
    
        // called whenever a tab button is tapped
        func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
    
            if viewController is PostTabViewController {
                ... code here ...
    
            } 
        }
    
    
    }
    

    代码在…这里编码…运行正常,但PostTabViewController仍显示。我该如何阻止它?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Craig Siemens    6 年前

    你应该办理登机手续 tabBarController(_, shouldSelect:)

    func tabBarController(UITabBarController, shouldSelect: UIViewController) -> Bool {
        guard viewController is PostTabViewController else {
            return true
        }
    
        ... code here ...
        return false
    }