我使用SWRevealViewController设置我的应用程序,它工作正常,但我想改变它的工作原理。目前我在同一级别上有以下观点:
但我想:
我仍然希望Home,View A,View B在菜单中,但是当点击View A或View B时,它会被推送到Home。在导航栏中,它有一个后退按钮而不是菜单按钮。
这可以使用SWRevealViewController吗?
答案 0 :(得分:6)
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
SWRevealViewController *main = (SWRevealViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"SWRevealViewController"];
[self presentViewController:main animated:YES completion:nil];
swift 中的- 它会自动打开SWL的根视图控制器
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let main = storyboard.instantiateViewControllerWithIdentifier("SWRevealViewController") as! UIViewController //SWRevealViewController
self.presentViewController(main, animated: true, completion: nil)
答案 1 :(得分:0)
我找到了answer,希望它可以帮助有人阅读此内容。当你有tabBarController或者只有一个NavigationController时,它有两种方式,SideMenu。从答案中发布片段,这对我有用。
使用TabBar控制器:
UITabBarController *tbc = (UITabBarController *)self.revealViewController.frontViewController;
UINavigationController *nc = tbc.selectedViewController;
[nc pushViewController:myVC animated:NO];
[self.revealViewController setFrontViewPosition:FrontViewPositionLeft animated:YES];
使用导航控制器:
UINavigationController *frontVC = (UINavigationController *)self.revealViewController.frontViewController;
[frontVC pushViewController: yourVC animated:NO];
[self.revealViewController pushFrontViewController:frontVC animated:YES];