登录模态视图麻烦

时间:2013-07-02 23:56:39

标签: objective-c login modalviewcontroller

我有一个主登录VC,用户可以选择登录Facebook,注册帐户或使用他们创建的帐户登录。如果我点击寄存器或登录,它们将分别从主VC转换到适当的寄存器VC或寄存器VC。这是使用UINavigationController

当我的应用程序启动时,它会立即显示登录屏幕。当用户成功登录(使用Facebook或帐户)时,它会推送项目UITableViewController。因此,登录不是以模态方式呈现的。我正在使用故事板,在Interface Builder中,我的根VC是我的登录选择屏幕。

现在,问题在于:我希望在登录完成后进行整个登录过程模式而不是推送。所以应用程序应该执行以下操作:

a)用户打开app,app检查用户是否已登录。如果是,则显示项目表VC。

b)如果用户未登录,则以模态方式提供登录,并让用户选择登录的内容。

c)用户登录,然后以模态方式解除VC(向下滑动)并显示项目表VC。

我对这种方法以及如何处理它非常困惑,因为虽然看起来很自然,但我一直在使用错误的方法,即在登录发生后推送项目VC。

当用户退出时,我想向上滑动登录界面,再次登录后,返回项目表VC(不是设置我的退出按钮的设置VC)。

我见过很多应用程序都有这种方法,所以我认为它是标准的。实现这个有什么好办法?我知道如何以模态方式呈现VC。

1 个答案:

答案 0 :(得分:1)

来自View Controller Programming Guide: Presenting View Controllers from Other View Controllers

  

当您呈现模态视图控制器时,系统会创建一个   执行呈现的视图控制器之间的关系   呈现的视图控制器。

因此,您需要将项目表VC作为根视图控制器,并检查用户是否在该项目表VC中首先登录。您甚至可以使用NSNotificationCenter来观察用户登录/退出。

如果用户已登录,则可以将项目表VC保存在那里,如果不是,则可以模态显示登录VC。

之后,您可以按照上述情况进行操作。