[英]Login modal view troubles
我有一个主要的登录VC,用户可以在其中选择使用Facebook登录,注册帐户或使用其创建的帐户登录。 如果我单击注册或登录,它们将分别从该主VC到适当的寄存器VC或寄存器VC中进行选择。 这是使用UINavigationController
。
当我的应用启动时,它将立即显示登录屏幕。 当用户成功登录(使用Facebook或帐户)登录时,它将推送一个项目UITableViewController
。 因此,登录名不会以模态显示。 我正在使用情节提要,并且在Interface Builder中,我的根VC是我的登录选择屏幕。
现在,这是问题所在:我想使整个登录过程具有模式性,而不是在登录完成后进行推送。 因此,该应用应执行以下操作:
a)用户打开应用程序,应用程序检查用户是否已登录。如果是,则显示项目表VC。
b)如果用户未登录,则模态地显示登录名,并让用户选择登录内容。
c)用户登录,然后以模式方式关闭VC(向下滑动)并显示项目表VC。
我对这种方法以及如何解决它感到非常困惑,因为尽管它看起来很自然,但是我一直使用了错误的方法,即在登录发生后将项目VC推送出去。
当用户注销时,我想向上滑动登录屏幕,在他们再次登录后,返回项目表VC(而不是包含我的注销按钮的设置VC)。
我已经看到许多应用程序都采用这种方法,因此我认为它是标准的。 什么是实现此目标的好方法? 我知道如何模态呈现VC。
从《 View Controller编程指南:从其他View Controller呈现View Controller》 :
当您呈现模式视图控制器时,系统会在进行呈现的视图控制器与所呈现的视图控制器之间建立关系。
因此,您需要将项目表VC设为根视图控制器,并首先检查用户是否已在该项目表VC中登录。 您甚至可以使用NSNotificationCenter观察用户登录/注销。
如果用户已登录,则可以将项目表VC保留在此处,如果用户未登录,则可以模态显示登录VC。
之后,您可以按照上面描述的方案进行操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.