(Swift) 在嵌套在 Main UINavigationController 中的 UINavigationController 和 UITabController 之间切换
Posted
技术标签:
【中文标题】(Swift) 在嵌套在 Main UINavigationController 中的 UINavigationController 和 UITabController 之间切换【英文标题】:(Swift) Switching between UINavigationController and UITabController nested within Main UINavigationController 【发布时间】:2018-03-09 09:51:47 【问题描述】:通过storyboard
,应用程序入口点是一个单独的UINavigationController
,它对用户身份验证执行一些逻辑,以首先确定是推送主页视图的嵌入UITabBarController
还是呈现登录/注册视图的嵌入UINavigationController
- 这个我没意见。
我遇到的困难是如何正确地在 Sign-In/-Sign Up 视图的嵌入式 UINavigationController
登录/注册和 Home 视图的嵌入式 @987654327 之间正确地进行直接转换@ 退出时。我认为冲突在于处理原始rootviewcontroller
在进入时推送/呈现上述视图和嵌套UINavigationController
在登录/注册视图中的“rootviewcontroller
关系”。
对于这些直接转换,我不知道如何从原始 rootviewcontroller
推送/呈现。如果有人可以帮助澄清,是否使用appdelegate
等,将不胜感激!
Storyboard UI Flow
【问题讨论】:
像根视图一样排列 -> 登录或注册 -> 登录屏幕中的主屏幕选项卡视图 检查是否登录立即推送主屏幕 【参考方案1】:有几种方法可以处理这个问题,但一般来说,我的方法是通过一个主导航控制器来处理这个问题,该控制器将保留整个登录/主菜单数组控制器,然后简单地添加或根据用户是登录还是注销,从视图控制器中删除菜单(仅显示 [signin] 或 [signin, mainmenu] 作为导航控制器上的视图控制器)。
最后,根据标签栏的逻辑,我通常会为每个标签栏项嵌入一个导航控制器。
看一下这里的速写:
【讨论】:
以上是关于(Swift) 在嵌套在 Main UINavigationController 中的 UINavigationController 和 UITabController 之间切换的主要内容,如果未能解决你的问题,请参考以下文章