Swift 4 Application尝试以模态方式呈现一个活动控制器UITabBarController

时间:2018-06-15 20:00:50

标签: ios swift

我有一个UITabViewController,我正在使用shouldSelect委托方法来覆盖发生的事情:

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {

        if viewController == tabBarController.viewControllers?[3] {

            let menuRightNavigationController = storyboard!.instantiateViewController(withIdentifier: "RightMenuNavigationController") as! UISideMenuNavigationController

            SideMenuManager.default.menuRightNavigationController = menuRightNavigationController

            present(SideMenuManager.default.menuRightNavigationController!, animated: true, completion: nil)


            return false

        }
        else
        {
            return true
        }
    }

当我第一次使用它时,一切都很好......第二次,我收到了这个错误:

  

'应用程序尝试以模态方式呈现活动控制器   <AppName.TabBarController: 0x7fe1b3856600>.'

右后卫,RightMenuNavigationController基本上是一个NavigationController,它有一个名为MenuController的Root View Controller ... MenuController有一个登录按钮,然后我的用户会看到一个登录界面,成功登录后它返回标签栏控制器通过self.performSegue(withIdentifier: "toolbarSegue", sender: nil)

我做错了什么?第一次完成后,我怎么能让RightMenuNavigationController不活动?

以下是一些更多细节,在我的MenuController中,我有这个按钮动作:

@objc func loginButtonPressed(_ sender: UIButton) {

        let viewController = storyboard?.instantiateViewController(withIdentifier: "LoginController") as! LoginController

        let navigationController: UINavigationController = UINavigationController(rootViewController: viewController)

        present(navigationController, animated: true, completion: nil)

    }

显示登录视图控制器。

0 个答案:

没有答案