带Tabbar控制器和导航控制器的SWRevealViewController-Swift 3
我希望我的所有应用程序页面在导航栏上都有一个侧菜单按钮,可以打开同一个侧菜单(通过带Tabbar控制器和导航控制器的SWRevealViewController-Swift 3,swift,uinavigationcontroller,uitabbarcontroller,segue,swrevealviewcontroller,Swift,Uinavigationcontroller,Uitabbarcontroller,Segue,Swrevealviewcontroller,我希望我的所有应用程序页面在导航栏上都有一个侧菜单按钮,可以打开同一个侧菜单(通过SWRevealViewController) 以下是我的故事板结构: 我的初始视图控制器是SWRevealViewController。导航控制器通过sw_前设置segue连接到它,sw_后设置segue是侧菜单视图控制器(在右上角) 现在的问题是,底部的所有视图控制器都需要打开同一个侧菜单。我已经给出了从侧菜单视图控制器到选项卡栏控制器的显示推送序列 我还在左下角的视图控制器类中编写了以下代码。左栏按钮项的出
SWRevealViewController
)
以下是我的故事板结构:
我的初始视图控制器是SWRevealViewController
。导航控制器通过sw_前设置segue连接到它,sw_后设置segue是侧菜单视图控制器(在右上角)
现在的问题是,底部的所有视图控制器都需要打开同一个侧菜单。我已经给出了从侧菜单视图控制器到选项卡栏控制器的显示推送序列
我还在左下角的视图控制器类中编写了以下代码。左栏按钮项的出口命名为menuButton
if self.revealViewController() != nil {
menuButton.target = self.revealViewController()
menuButton.action = #selector(SWRevealViewController.revealToggle(_:))
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
}
我不明白怎么了
注意:可能存在问题,因为主导航控制器的根视图控制器和选项卡栏是通过代码而不是segue连接的(因为segue在子选项卡的导航栏中给出了一个问题)
用于相同目的的代码为:
let mainST = UIStoryboard(name: "Main", bundle: Bundle.main)
let VC = mainST.instantiateViewController(withIdentifier: "idTabBar") as! TabBarController
VC.index = tappedImageTag
present(VC, animated: true, completion: nil)
请帮忙。我使用的是xcode 8和swift 3
编辑:我在sideMenuViewController(显示在故事板图像的右上角)中尝试了这一点
当我通过此代码从主页的侧菜单转到任何其他页面时,侧菜单按钮也会在该页面上工作。
但如果我直接进入这些页面,我的侧菜单就不会出现
我犯了一个非常愚蠢的错误,但请帮我弄清楚
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
let vc = storyboard.instantiateViewController(withIdentifier: "idTabBar") as! TabBarController
vc.index = 0
let rvc:SWRevealViewController = self.revealViewController() as SWRevealViewController
rvc.pushFrontViewController(vc, animated: true)
}