我一直在苦苦挣扎,所以最后我放弃了试图找到答案并决定立即提问。如何在Xcode上管理登录和注销过程
在我的应用程序中,我有一个用户登录页面。该应用程序有一个TabBarViewController,其中有一些NavigationControllers的项目。
我最后的努力是将登录屏幕嵌入NavigationBarController并使其成为初始视图控制器,如下图所示。
当应用程序启动时,如果用户登录的LogInViewController“塞格斯”的TabBarController,一切都很好。当用户在ProfileViewController中注销时,这个ViewController中的一个segue会被初始化为视图控制器。
另一方面,如果没有用户登录,LogInViewController将显示一个视图,以便用户可以插入用户名和密码。如果凭证是正确的,则LogInViewController'继续'到TabBarController。问题是,在这一点上,即使该应用程序仍然工作良好,我得到以下警告:
警告:试图提出TabBarViewController:0xa19a670上的UINavigationController:0xa526370而演示正在进行!
所以我认为这不是处理所有这个LogIn/LogOut过程的最好方法。
我的问题是,我应该在哪里把LogInScreen放在层次结构中? 如果有任何机会,我的布局/层次是正确的,如何使警告消失?
我已经使用了这个系统几次,它运行良好。我的'rootViewController'是'UINavigationController'(酒吧隐藏)。我的初始视图控制器的图像与我的加载图像相同(用户看不到变化)。当它加载时,它会检查用户是否登录,然后用交叉淡入淡出动画对登录屏幕或登录屏幕执行'segue'(push)。 “注销”功能弹出到导航控制器的根目录,淡入登录页面(登录页面看起来像加载图像,但登录内容被覆盖)。你的问题听起来像是实施问题。 – DBD 2013-02-27 16:15:37