我正在使用SWRevealViewController构建一个滑动菜单。在访问菜单之前,将显示登录视图以允许用户登录。现在,我想让用户断开连接并再次显示登录视图。我的问题是如何打开SWRevealViewController。
在登录后提供对应用程序访问的代码为:
MainViewController *vMainMenu = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
vMainMenu.strURL = URL;
LeftMenu *vLeftMenu = [[LeftMenu alloc] initWithNibName:@"LeftMenu" bundle:nil];
UINavigationController *principalNavController = [[UINavigationController alloc] initWithRootViewController:vMainMenu];
UINavigationController *rearNavController = [[UINavigationController alloc] initWithRootViewController:vLeftMenu];
SWRevealViewController *mainRevealController = [[SWRevealViewController alloc] initWithRearViewController:rearNavController frontViewController:principalNavController];
mainRevealController.delegate = self;
self.viewController = mainRevealController;
principalNavController.navigationBar.hidden = YES;
rearNavController.navigationBar.hidden = YES;
self.window.rootViewController = self.viewController;此解决方案不起作用:
[self.revealViewController.navigationController popViewControllerAnimated:YES];
Splash *vSplash = [[Splash alloc] initWithNibName:@"Splash" bundle:nil];
[self.navigationController pushViewController:vSplash animated:YES];你能帮帮我吗?
谢谢。
发布于 2015-02-16 23:02:28
你不能通过pop回到你的LoginViewController。您可以添加不带动画的PresentViewController来执行此操作。
Splash *vSplash = [[Splash alloc] initWithNibName:@"Splash" bundle:nil];
[self presentViewController: vSplash animated:NO completion:nil];发布于 2015-02-23 19:54:02
我也有同样的问题。我已经实现了几个故事板。
let storyboard = UIStoryboard(name: "Login", bundle: nil)
let startcontroller = storyboard.instantiateViewControllerWithIdentifier("LoginVC") as UIViewController
window?.rootViewController = startcontroller使用此代码片段,您可以访问正确的View Controller。
发布于 2016-01-27 01:11:27
您可以使用“展开Segue”。解开分段类似于常规分段,它向后而不是向前。
首先,转到Login View Controller并添加以下方法:
-(IBAction)unwindToLoginScreen:(UIStoryboardSegue *)segue {
}该方法可能是空的,它可以有任何名称;使用描述性名称是很好的,因为您的代码上可能有许多展开segues,并且能够区分它们将是有用的。
此展开方法将充当对情节提要上的所有视图控制器都可见的全局常量。
现在,在每个应该能够返回到Login屏幕的视图控制器上,您可以创建一个展开Segue。您可以在故事板上执行此操作:
。
这样做,视图控制器和登录视图控制器之间的完整堆栈将展开。也就是说,所有堆叠在Login视图控制器之上的视图控制器都将被弹出。
您还可以将prepareForSegue用于展开的segues,方法与使用常规segues相同。如果您想对段执行某些操作,可以将代码添加到-(IBAction)方法中。
https://stackoverflow.com/questions/27836668
复制相似问题