我正在使用导航控制器将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)
}
}
}