【发布时间】:2011-11-22 00:28:56
【问题描述】:
我的问题:
我的应用需要用户登录,所以我展示的第一个视图是登录视图。如果我们登录了,那么我们会显示应用视图,它是一个标签栏控制器。这些选项卡之一是帐户信息 + 注销。注销时,我想返回登录屏幕。
我的解决方案:
根视图是一个导航控制器,它保存着主视图。主视图是透明的,只是说你没有登录吗?将帐户屏幕推送到堆栈上。如果已登录,则将选项卡控制器视图推送到堆栈上。选项卡控制器中的每个选项卡都是一个导航控制器。单击帐户选项卡会将帐户视图上的帐户视图推送到堆栈上。帐户视图有一个注销按钮,它会弹出 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];
我认为是问题所在:
我在顶层的导航控制器与标签控制器中的较低级别的导航控制器不同。
我的问题看起来很典型,但我的解决方案似乎很笨拙。这不是最好的方法!有什么建议吗?
【问题讨论】:
标签: iphone ios uinavigationcontroller