导航控制器未按预期工作

时间:2018-02-06 12:32:51

标签: ios swift uiviewcontroller uinavigationcontroller

我正在使用导航控制器将8个表单页面相互连接。根据用户的选择,它使用以下代码导航到下一个屏幕:

    if (GlobalVariable.page[0] == true || GlobalVariable.page[1] == true || GlobalVariable.page[2] == true || GlobalVariable.page[3] == true) {            
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        var destinationVC:UIViewController!
        destinationVC = storyboard.instantiateViewController(withIdentifier: "firstInfo") as! FirstInfoVC
        navigationController?.show(destinationVC, sender: self)
    }

当我使用上面的代码时,用户可以使用向左滑动手势进入上一个屏幕。直到现在都可以。但是,每个页面都有菜单按钮,填写完8页后,或者只要他们想要用户可以点击该菜单按钮,根据选择,它需要独立于该8页导航另一个视图控制器。为了导航那个独立的视图控制器,我也试图在我的菜单表视图中使用上面的代码didselectrowat功能,但它不起作用(实际上,它什么都不做)。可能是什么原因以及如何解决?

修改: 在我的侧导航控制器类

override func viewDidLoad() {
    super.viewDidLoad()
    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let menu = storyboard.instantiateViewController(withIdentifier: "MenuTableViewController") as! MenuTableViewController
    sideMenu = ENSideMenu(sourceView: self.view, menuViewController: menu, menuPosition: .left)
    sideMenu?.menuWidth = UIScreen.main.bounds.width * 0.8
    sideMenu?.bouncingEnabled = false

    //Navigation Bar Özelleştirmesi İçin Renk Mavi Üstüne Beyaz
    UINavigationBar.appearance().barTintColor = UIColor(red:0.01, green:0.47, blue:0.74, alpha:1.0)
    UINavigationBar.appearance().tintColor = UIColor.white
    UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName : UIColor.white]

    view.bringSubview(toFront: navigationBar)
}

并在我的菜单表中查看代码如下:

class MenuTableViewController: UITableViewController {

    override func viewDidLoad()
    {
        super.viewDidLoad()

       tableView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0)
    }

    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        var destinationVC:UIViewController!

        if (indexPath.row == 2) {

            destinationVC = storyboard.instantiateViewController(withIdentifier: "independentPage") as? IndependentVC
                navigationController?.show(destinationVC, sender: self)
        }
    }

}

0 个答案:

没有答案