我有一个场景,比如我正在使用AKSideMenu和Tabbarcontroller都有相同的项目,如家庭,个人资料等意味着家庭可以从标签栏和侧面菜单访问。我的问题是从标签栏访问是好的,但如果我从侧面菜单中选择Home,然后选择正确的标签栏项目,但是视图控制器和标签栏不正确(从侧面菜单显示选择主页面选项栏,但视图控制器是配置文件视图或一些随机)。
请在下面找到代码。
public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
self.sideMenuViewController!.contentViewController = nil
switch indexPath.row {
case 0:
self.sideMenuViewController!.setContentViewController(getLandingStoryBoard().instantiateViewController(withIdentifier: "MyTicketsViewController"), animated: true)
self.tabBarController?.selectedIndex = 0
self.sideMenuViewController!.hideMenuViewController()
case 1:
self.sideMenuViewController!.setContentViewController(getHistoryStoryboard().instantiateViewController(withIdentifier: "BiddingHistoryViewController"), animated: true)
self.tabBarController?.selectedIndex = 1
self.sideMenuViewController!.hideMenuViewController()
} }
答案 0 :(得分:0)
我认为您的问题是您正在将内容视图控制器设置为从故事板实例化的新vc,而不是将其设置为标签栏控制器的选定视图控制器。
试
self.tabBarController!.selectedIndex = 0
self.sideMenuViewController!.setContentViewController(self.tabBarController!.selectedViewController!, animated: true)
或者内容视图控制器应该始终是标签栏控制器。