繁体   English   中英

在swrevealcontroller之前实现登录屏幕

[英]implement login screen before swrevealcontroller

我刚开始学习IOS开发,通过遵循在线给定的教程,我已经成功实现了SWRevealViewController,一切均按预期进行。

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

  1. 将UIViewController放到故事板上
  2. 将此设置为我的“是初始视图控制器”
  3. 在此新视图中添加了一个按钮,并创建了用于测试目的的序列

但是,当我单击此按钮时,它什么也没做,因此,在网上搜索并尝试自行查找该按钮后,由于我对此知识的缺乏,我一直没有成功,有人愿意给我一些指导如果需要,我需要更改什么,或者需要修改哪些部分以使此流程按预期工作?

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

在此处输入图片说明

更新资料

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

在此处输入图片说明

步骤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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM