使用SWRevealViewController登录视图

时间:2013-06-07 17:05:55

标签: ios login uiviewcontroller sidebar rootview

目前,我有一个项目,我想将Login View与SideBarRevealController集成。

以下是与SideBarRevealController的链接:https://github.com/John-Lluch/SWRevealViewController

我目前在介绍登录视图时遇到问题,这是一个标准的UIViewController。

链接中有3个示例项目,但对于IOS,我将坚持使用第一个项目。我有一个问题,了解哪个viewcontroller(SWRevealViewController或我的loginview控制器)应该是rootviewcontroller?

我认为SWRevealViewController应该是rootviewcontroller,但我不完全确定。

我想我对如何使用登录视图和主视图设计应用程序流程的理解是关闭的.....

但是如果可能的话,我如何允许在包含多个viewcontrollers的SWREVEALVIEWCONTROLLER类之前显示登录视图?

如果有任何问题或疑虑,请参阅链接并运行示例项目。我想这对于每个想要带侧边栏导航功能的登录视图的人来说都是一个问题。

谢谢你的支持!

5 个答案:

答案 0 :(得分:2)

要在SWRevealViewController之前添加登录屏幕,您必须在AppDelegate.m文件中进行更改。

LoginView * lv = [[LoginView alloc] init];

SideMenuViewController *smvc = [[SideMenuViewController alloc]init];
UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:lv];
UINavigationController *menuVC = [[UINavigationController alloc]initWithRootViewController:smvc];

SWRevealViewController *revealController = [[SWRevealViewController alloc]initWithRearViewController:menuVC frontViewController:nav];
revealController.delegate = self;

self.menu = revealController;
self.window.rootViewController = self.menu;

通过这种方式,您将获得一个loginview作为您的rootview,然后您可以从那里导航到您将使用sidemenu操作的下一个屏幕。

答案 1 :(得分:0)

http://www.appcoda.com/ios-programming-sidebar-navigation-menu/这篇文章解释了如何比我见过的任何其他人更好地使用SWRevealViewController ...祝你好运

答案 2 :(得分:0)

我也在使用SWRevealViewController进行侧边菜单。我也有类似的要求,在哪里显示现有用户和新用户注册scree的登录屏幕。我解决这个问题的方法是使用多个故事板。一个非常简洁的解决方案。 我有一个登录故事板和主要故事板文件。 在项目设置中,通过删除故事板键,禁用故事板中的加载。 现在在您的应用程序didFinishLaunchingWithOptions中,检查用户是否已登录,然后加载主故事板,否则加载登录故事板。 现在,所有人都在解雇,并在需要时展示其他故事。

答案 3 :(得分:0)

@Hiren

SideMenuViewController *smvc = [[SideMenuViewController alloc]init];
UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:lv];
UINavigationController *menuVC = [[UINavigationController alloc]initWithRootViewController:smvc];

SWRevealViewController *revealController = [[SWRevealViewController alloc]initWithRearViewController:menuVC frontViewController:nav];
revealController.delegate = self;

self.menu = revealController;
self.window.rootViewController = self.menu;

所以你要说的是1v =登录控制器的名称是什么?

答案 4 :(得分:0)

为了解决这个问题,我使用了以下步骤。

  1. 在Storyboard中创建一个类型为“SWRevealViewController”的ViewController,并将其设为“初始视图控制器”。
  2. 使用segue“sw_front”连接到SWRevealViewController的第一个视图不会添加切换按钮来显示抽屉。在第一个视图上实现登录过程。
  3. 登录视图后,您要显示侧面抽屉添加切换按钮。
  4. 要注销,请添加以下代码行。 self.revealViewController().performSegue(withIdentifier: "sw_front", sender: self)
  5. 由于我很难解释我是如何实现它的。 enter image description here

相关问题