在需要注册的应用程序中管理视图控制器
我希望我的iOS应用程序遵循类似于Instagram中显示的导航模式:
即…如果用户尚未登录,则会显示欢迎视图。 从那里,用户可以导航到登录视图或注册视图。 登录成功完成后,视图将向下滑动,然后主应用程序视图如下所示。 如果用户注销,则会再次显示欢迎视图。
我的应用程序也是一个标签。 我已经将AppDelegate
的rootViewController
设置为UITabBarController
,我尝试通过UITabBarController
的主视图呈现其UINavigationController
来显示welcome>登录 / welcome>注册导航层次结构(正如我所说的那样,是rootViewController
) 。 但问题是,为了从主视图中呈现欢迎视图,我需要首先显示主视图,即使用户尚未登录。 如果没有登录,我不希望用户看到主视图。
我还尝试检查用户是否已在应用程序启动时登录,如果需要登录,则使用欢迎视图rootViewController
作为rootViewController
的UITabBarController
并隐藏选项卡栏。 然后从那里显示符号,如果登录成功则解雇它,并在此时填充UITabBarController
其中包含主视图和我的应用程序的其余选项卡项。 但问题在于,当我关闭登录视图时,欢迎视图显示在主视图之前,其余的选项卡项被加载。 我不希望用户在登录视图被取消时再次看到欢迎视图,我想直接显示主视图,就像Instagram一样。
我怎么能在Instagram中实现这样的行为?
提前致谢
在应用程序开始时,确定用户是否已登录。
如果用户未登录:
- 将rootViewController设置为UINavigationController并将Welcome视图添加到它。 (如果您希望它看起来像您发布的照片,则可以隐藏导航栏。)
- 当他们点击寄存器或登录按钮时,将相应的视图控制器推到导航控制器堆栈上。
- 成功登录后,使用UITabBarController 替换根视图控制器。
如果用户已登录:
将rootViewController设置为UITabBarController。