I am creating a sample app which contains TabBarViewController
and also i implement slide menu using SWRevealViewController
and the problem is that the slide menu it not showing out.
Here i set rootViewController
in appdelegate
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
window?.rootViewController = TabBarController()
Here is my TabBarController
which i implement 2 tabBar items which first tabBar item should have slide menu
let homeController = HomeController()
let homeNavigation = UINavigationController(rootViewController: homeController)
homeNavigation.tabBarItem.title = "Home"
let menuController = MenuViewController()
let swReveal = SWRevealViewController(rearViewController: homeNavigation, frontViewController: menuController)
swReveal?.toggleAnimationType = SWRevealToggleAnimationType.easeOut
swReveal?.toggleAnimationDuration = 0.30
let favController = FavoriteController()
let favNavigation = UINavigationController(rootViewController: favController)
favNavigation.tabBarItem.title = "Favorite"
viewControllers = [homeNavigation, favNavigation]
For MenuController
i setup some navigation button for showing menu
let menuButton = UIBarButtonItem(title: "Menu", style: .plain, target: self.revealViewController(), action: #selector(slideMenu))
self.navigationItem.leftBarButtonItem = menuButton
@objc func slideMenu() {
if revealViewController() != nil {
revealViewController().revealToggle(animated: true)
revealViewController().rearViewRevealWidth = (view.bounds.width * 80 ) / 100
}
else {
print("no reveal view")
}
}