在swreveal控制器之前执行login屏幕
我刚刚开始学习IOS开发,我已经成功地实现了SWRevealViewController通过遵循给定的教程在线所有工作正常。
然后,我决定添加一个login屏幕,这将是用户在运行应用程序时看到的第一个页面。 我采取的步骤如下:
- 把一个UIViewController放到故事板上
- 设置为我的'是初始视图控制器'
- 为这个新视图添加了一个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(在你的情况下,它是LoginViewController
) SWRevealController
。 所以这将工作。 而当你注销时,将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()