我的问题:
我的应用需要用户登录,因此我显示的第一个视图是登录视图。如果我们已登录,则会显示应用程序视图,这是一个标签栏控制器。其中一个选项卡是帐户信息+注销。在退出时,我想返回登录屏幕。
我的解决方案:
根视图是一个导航控制器,它保存主视图。主要观点是透明的,只是说你没有登录?将帐户屏幕推入堆栈。如果已登录,请将选项卡控制器视图推入堆栈。选项卡控制器中的每个选项卡都是导航控制器。单击帐户选项卡会将帐户视图上的帐户视图推送到堆栈。帐户视图有一个注销按钮,弹出2个视图(但不起作用):
// Go to main view (2 views up) to show default login screen (as we won't be logged in anymore)
UINavigationController *navController = self.navigationController;
[navController popViewControllerAnimated:NO];
[navController popViewControllerAnimated:YES];
我认为问题是:
我在顶层的导航控制器与标签控制器中的低级导航控制器不同。
我的问题似乎相当典型,但我的解决方案似乎非常笨重。这不是最好的方法!有什么建议吗?
答案 0 :(得分:0)
尝试这样的事情?这似乎令人费解,但让我们试试吧。
[self.navigationController popViewControllerAnimated: NO];
[self.tabBarController.navigationController popViewControllerAnimated: YES];