我在我的应用中实现了单点登录(用户只需登录一次)。
但是用户可以签出他是否愿意。
我将用一个用例流解释我的问题。
FLOW:
现在我遇到了问题。
我收到错误:
Warning: Attempt to present <app.loginViewController: 0x15d559f00> on <app.homeViewController: 0x15d625660> whose view is not in the window hierarchy!
我不知道这是否是问题但是navigationController
正在保存第一个homeViewController
并且它没有清空堆栈
我试图在homeViewController
中弹出viewDidDisappear
它没有工作,堆栈仍然保存第一个homeViewController
有什么建议吗?
答案 0 :(得分:1)
您的ViewControllers需要如下所示:
UINavigationController - (rootViewController) - &gt; loginViewController - (Segue公司) - &GT; HomePageViewController
或者您可以执行以下操作:
UITabViewController:
viewController1:loginViewController
viewController2:UINavigationController - (rootViewController) - &gt; HomePageViewController
不,用户登录后,您可以导航至viewController2 Tab
并显示HomePageViewController
一旦用户退出,您就可以popToRootViewController
中的viewController2 Tab
&amp;切换到viewController1 Tab
以显示loginViewController
答案 1 :(得分:0)
您的应用中只有一个1 navigationController吗?我不这么认为。 如果你想来回一个简单的segue,应该只有一个NavigationController。
否则,如果你有2个或更多的NavigationControllers,那么你需要以编程方式将新的NavigationController添加到窗口。