0

不要求我显示代码,因为没有代码。一切都在故事板上完成。在另一个UINavigationController中的UITabBarController中使用UINavigationController的问题

我的应用程序从一个主导航控制器开始,该控制器拥有一个登录视图控制器作为其根视图控制器。登录视图控制器有一个按钮。按下按钮时,按下标签栏控制器。标签栏控制器有4个项目。每个项目都是辅助导航控制器,维护自己的视图控制器堆栈。所以基本上结构是:主UINavigationController - >登录视图控制器 - >UITabBarController - >第二个UINavigationController - >视图控制器阵列。

问题是:当我沿着辅助导航控制器的视图控制器堆栈时,我想通过按导航栏上的Back按钮返回到先前的视图控制器。但事实证明,导航栏不属于当前的导航控制器(次要的)!它属于主导航控制器!所以当我点击Back按钮时,我弹出到应用程序的开头,登录视图控制器,因为主导航控制器弹出选项卡栏控制器。我希望我清楚地描述了这个问题。

当然,我可以做一个解决方法。如果我隐藏主导航控制器的导航栏,那么我会看到辅助导航控制器的导航栏,这正是我需要的。但我觉得这不是一个合适的解决方案。我觉得必须有一个正确的。你们觉得怎么样?

回答

1

我不建议使用UINavigationController从登录到Segue公司到您的主UITabBarController ...就个人而言,我更喜欢有主UIWindow作为登录的不同rootViewController或呈现登录模态(不含动画)...这样做更有意义,因为您不希望用户“导航回”到登录屏幕,而是完全使用注销并切换上下文。

相关问题