注销和登录后屏幕变黑
Posted
技术标签:
【中文标题】注销和登录后屏幕变黑【英文标题】:After Logout and Login Screen becomes black 【发布时间】:2019-02-14 05:47:13 【问题描述】:我使用用户默认值来存储登录和注销信息,注销后当我再次登录时,UI 更改,我尝试了不同的解决方案,但没有得到任何合适的解决方案。
我尝试使用 if else 语句。如果条件为真,则显示主屏幕,否则显示登录屏幕。 下面是我的代码
我使用的登录:
@IBAction func signInAction(_ sender: Any)
defaults.set(true, forKey: "status")
对于我使用的注销:
@IBAction func logOutAction(_ sender: Any)
defaults.set(false, forKey: "status")
defaults.synchronize()
dismiss(animated: true, completion: nil)
let loginVC = self.storyboard?.instantiateViewController(withIdentifier: "ViewController") as! ViewController
self.present(loginVC)
let appDel: AppDelegate = UIApplication.shared.delegate as! AppDelegate
appDel.window?.rootViewController = loginVC
我在 AppDelegate.swift 中使用了:
if(status == true)
let appDel = UIApplication.shared.delegate as! AppDelegate
let mainVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "DrawerTabsController") as! DrawerTabsController
let menuVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "DrawerViews") as! DrawerViews
let navigationController = UINavigationController(rootViewController: mainVC)
appDel.drawerController.screenEdgePanGestureEnabled = true
appDel.drawerController.mainViewController = mainVC
appDel.drawerController.drawerViewController = menuVC
appDel.window?.rootViewController = appDel.drawerController
appDel.window?.makeKeyAndVisible()
else
let rootVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ViewController") as! ViewController
//ViewController is LoginVC
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.window?.rootViewController = rootVC
导航栏 UI 更改。
【问题讨论】:
在你的其他部分尝试 self.window?.makeKeyAndVisible()。 试过了,还是一样。 【参考方案1】:此答案不适用于您的代码,我只是分享了我在整个 ios 应用程序中使用的流程。就像魔术一样。
我认为您需要更改应用流程。
首先打开您的仪表板屏幕,在仪表板屏幕中以viewDidAppear
方法检查登录状态并显示带有导航的登录屏幕(如果您想从登录屏幕导航注册屏幕或忘记密码屏幕,则导航)。
在登录屏幕中。 调用 api 并获得成功登录状态后,只需关闭登录屏幕(如果您显示导航,则只需关闭导航控制器)。
在这个流程中不需要改变你的根视图控制器,非常简单的流程。
【讨论】:
以上是关于注销和登录后屏幕变黑的主要内容,如果未能解决你的问题,请参考以下文章