ios - 跳转 View Controller 链

标签 ios swift

我有一个如下所示的 View Controller 链:

>ROOT (Login)
---->Main Menu
-------->Settings

设置内,我有一个注销选项。有没有一种方法可以通过一个流畅的动画直接从 Settings 跳转到 Login?现在,我在 Settings 上调用 self.dismissViewController ,然后在 Main Menu 上调用,它可以工作,但显示两个动画。

我正在寻找一种直接从设置转换到登录的方法,因此它甚至不应该在屏幕上显示主菜单方式。这可能吗?

最佳答案

AppDelegate 内部(在 didFinishLaunchingWithOptions 内):-

   let userLoginStatus = NSUserDefaults.standardUserDefaults().boolForKey("isUserLoggedIn")


    if(userLoginStatus)
        {
// Assuming "Main" is the name of your storyboard
     let mainStoryBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
       letMainVC = mainStoryBoard.instantiateViewControllerWithIdentifier("Main") as! MainVC


               window!.rootViewController = letMainVC
               window!.makeKeyAndVisible()

    }

在LoginVC中验证用户凭据后,登录成功后,将Bool值设置为true,如下所示:-

// after successful login 
  NSUserDefaults.standardUserDefaults().setBool(true, forKey: "isUserLoggedIn")
        NSUserDefaults.standardUserDefaults().synchronize()

类似地,当用户单击注销时,将 Bool 设置为 false,并将 Login 设置为 Root VC,如下所示:-

//Inside logout closure :-

    NSUserDefaults.standardUserDefaults().setBool(false, forKey: "isUserLoggedIn")
                NSUserDefaults.standardUserDefaults().synchronize()


    let loginVC = self.storyboard?.instantiateViewControllerWithIdentifier("Login") as! LoginVC

    let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate

    appDel.window?.rootViewController = loginVC

这将直接一次性完成转换。如有任何问题请告诉我。

注意:- 不要忘记在 Storyboard 文件的“身份”部分中设置 Storyboard ID。

关于ios - 跳转 View Controller 链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38527023/

相关文章:

ios - 在 iOS7 多任务屏幕中以编程方式刷新屏幕截图?

iphone - 如何使用 uiimagepickercontroller 让用户一次选择多张图片?

ios - 我可以以某种方式在 Swift 的一行中对多个变量使用可选绑定(bind)吗?

ios - xib 自定义 View 中的 ScrollView 以适应多种宽度

ios - 如何修复在 uicollectionview 中移动多个项目有时会崩溃的问题?

ios - 在 ScrollView 中的 TextView 外部点击时关闭键盘

iphone - MapKit:来自 Sqlite 数据库的坐标

Swift,FIrebase - 无法通过 removeAllObservers 删除观察者

swift - WatchKit 应用程序中的多个 Storyboard

swift - 快速对两个值进行字典排序