[英]implement login screen before swrevealcontroller
我刚开始学习IOS开发,通过遵循在线给定的教程,我已经成功实现了SWRevealViewController,一切均按预期进行。
然后,我决定添加一个登录屏幕,这将是用户在运行该应用程序时看到的第一页。 我采取的步骤如下:
但是,当我单击此按钮时,它什么也没做,因此,在网上搜索并尝试自行查找该按钮后,由于我对此知识的缺乏,我一直没有成功,有人愿意给我一些指导如果需要,我需要更改什么,或者需要修改哪些部分以使此流程按预期工作?
下面是我当前故事板的屏幕截图。
更新资料
在添加了相关代码后,应用程序委托文件仍然收到此错误消息:
步骤1
将您的登录VC嵌入到NavigationController中。
第2步
在您的登录按钮操作上,将segue类型设置为Modal
并调用as
@IBAction func btnLogin(sender: AnyObject) {
self.performSegueWithIdentifier("openSWL", sender: self)
}
为了流程理解的目的
对于示例项目,您可以在这里下载
情节提要的布局看起来不错。 我已经使用了SWRevealController
如下所示:
登录后(执行登录服务或某些登录过程),请编写以下代码。 此代码会将当前的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
}
}
//在您的登录按钮操作方法中调用上述函数,如下所示:
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.changeRootViewControllerToSWRevealViewController()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.