SWRevealViewController - 从侧面菜单推送视图控制器

时间:2015-06-22 09:50:38

标签: ios objective-c swift swrevealviewcontroller

我使用SWRevealViewController设置我的应用程序,它工作正常,但我想改变它的工作原理。目前我在同一级别上有以下观点:

  • 主页
  • 查看A
  • 查看B

但我想:

  • 主页
    • 查看A
    • 查看B

我仍然希望Home,View A,View B在菜单中,但是当点击View A或View B时,它会被推送到Home。在导航栏中,它有一个后退按钮而不是菜单按钮。

这可以使用SWRevealViewController吗?

2 个答案:

答案 0 :(得分:6)

objective-C

中的

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];
相关问题