【问题标题】:SWRevealViewController - push view controller from side menuSWRevealViewController - 从侧面菜单推送视图控制器
【发布时间】:2015-09-07 17:21:41
【问题描述】:
我已经使用 SWRevealViewController 设置了我的应用程序,它工作正常,但我想改变它的工作方式。目前我在同一层面有以下看法:
但我想要:
我仍然希望主页、视图 A、视图 B 出现在菜单中,但是当单击视图 A 或视图 B 时,它会被推送到主页。在导航栏中,它有一个后退按钮,而不是菜单按钮。
这可以使用 SWRevealViewController 吗?
【问题讨论】:
标签:
ios
objective-c
swift
swrevealviewcontroller
【解决方案1】:
在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)
【解决方案2】:
我找到了answer,希望它能帮助阅读本文的人。它有两种方式,SideMenu 当你有一个 tabBarController 或只有一个 NavigationController。从答案中发布 sn-p,这对我有用。
使用 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];