【发布时间】:2015-08-18 19:57:06
【问题描述】:
不要因为没有代码就让我展示代码。一切都在故事板中完成。
我的应用程序从一个主导航控制器开始,该控制器将登录视图控制器作为其根视图控制器。登录视图控制器有一个按钮。当按钮被按下时,标签栏控制器被按下。标签栏控制器有 4 个项目。每个项目都是一个辅助导航控制器,维护自己的视图控制器堆栈。所以基本上结构是:主UINavigationController->登录视图控制器->UITabBarController->辅助UINavigationController->视图控制器数组。
问题是:当我沿着辅助导航控制器的视图控制器堆栈进行操作时,我想通过按导航栏上的Back 按钮返回到以前的视图控制器。但事实证明,导航栏不属于当前的导航控制器(第二个)!它属于主导航控制器!因此,当我点击Back 按钮时,我会弹出到应用程序的最开头,即登录视图控制器,因为主导航控制器会弹出标签栏控制器。我希望我清楚地描述了这个问题。
当然,我可以做一个解决方法。如果我隐藏主导航控制器的导航栏,那么我会看到辅助导航控制器的导航栏,这正是我所需要的。但我觉得这不是一个合适的解决方案。我觉得必须有一个正确的。你们觉得怎么样?
【问题讨论】:
标签: ios cocoa-touch uinavigationcontroller uikit uitabbarcontroller