在swreveal控制器之前执行login屏幕

我刚刚开始学习IOS开发,我已经成功地实现了SWRevealViewController通过遵循给定的教程在线所有工作正常。

然后,我决定添加一个login屏幕,这将是用户在运行应用程序时看到的第一个页面。 我采取的步骤如下:

  1. 把一个UIViewController放到故事板上
  2. 设置为我的'是初始视图控制器'
  3. 为这个新视图添加了一个button,并创build了一个seque用于testing目的

但是,当我点击这个button时,它什么都不做,所以在search网页后,我不得不自己找出这个网页,因为我对这个知识缺乏了解,所以没有成功,有人会给我一些指点我需要改变什么,或者需要修改哪些部分以使这个stream程按预期工作?

下面是我当前故事板的屏幕截图。

在这里输入图像说明

更新

在添加相关的代码的应用程序委托文件后,我仍然收到此错误消息:

在这里输入图像说明

步骤1

将您的loginVCembedded到NavigationController。

第2步

在你的loginbutton动作设置为Modal的seguetypes和调用

  @IBAction func btnLogin(sender: AnyObject) { self.performSegueWithIdentifier("openSWL", sender: self) } 

为了stream程理解目的

在这里输入图像说明

对于示例项目,你可以在这里下载

故事板安排看起来不错。 我已经使用SWRevealController如下所示:

login后(执行login服务或某个login过程)写下面的代码。 这段代码将改变当前的rootViewController(在你的情况下,它是LoginViewControllerSWRevealController 。 所以这将工作。 而当你注销时,将rootViewController更改为LoginViewController

 SWRevealViewController *controller = (SWRevealViewController *)[self.mainStoryboard instantiateViewControllerWithIdentifier:@"RevealViewController"]; [self.window setRootViewController:controller]; 

不要忘记在Storyboard中为SWRevealViewController分配StoryboardID =“RevealViewController”。

SWIFT代码:

将以下函数添加到您的AppDelegate.swift文件中:

 func changeRootViewControllerToSWRevealViewController () { let storyboard = UIStoryboard(name: "Main", bundle: nil) let controller = storyboard.instantiateViewControllerWithIdentifier("RevealViewController") if let window = self.window{ window.rootViewController = controller } } 

//在如下所示的loginbutton操作方法中调用上面的函数:

  let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate appDelegate.changeRootViewControllerToSWRevealViewController()