0

我有一个主登录 VC,用户可以选择使用 facebook 登录、注册帐户或使用他们创建的帐户登录。如果我单击注册或登录,他们将从该主 VC 转到相应的注册 VC,或分别注册 VC。这是使用UINavigationController.

当我的应用程序启动时,它会立即显示登录屏幕。当用户成功登录(使用 Facebook 或帐户)时,它会推送一个 items UITableViewController。所以登录没有以模态方式呈现。我正在使用情节提要,在 Interface Builder 中,我的根 VC 是我的登录选择屏幕。

现在,问题来了:我想让整个登录过程模态化,而不是在登录完成时推送。所以应用程序应该执行以下操作:

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

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

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

我对这种方法以及如何解决它感到非常困惑,因为尽管它看起来很自然,但我一直在使用错误的方法,即在登录后推送项目 VC。

当用户注销时,我想向上滑动登录屏幕,在他们再次登录后,返回项目表 VC(不是包含我的注销按钮的设置 VC)。

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

4

1 回答 1

1

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

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

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

如果用户已登录,您可以在其中保留项目表 VC,如果他/她未登录,您可以模态显示登录 VC。

之后,您可以按照上面描述的场景进行操作。

于 2013-07-03T00:43:02.663 回答