Objective c 登录模式视图故障

Objective c 登录模式视图故障,objective-c,login,modalviewcontroller,Objective C,Login,Modalviewcontroller,我有一个主登录VC,用户可以选择使用facebook登录、注册帐户或使用他们创建的帐户登录。如果我单击register或login,它们将分别从主VC转到相应的register VC或register VC。这是使用UINavigationController 当我的应用程序启动时,它会立即显示登录屏幕。当用户成功登录(使用Facebook或帐户)时,会推送itemsUITableViewController。因此,登录不以模式显示。我正在使用故事板,在Interface Builder中,我的

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

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

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

a) 用户打开应用程序,应用程序检查用户是否已登录。如果是这样,请将项目列在表VC中

b) 若用户未登录,则以模态方式显示登录,并让用户选择使用什么登录

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

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

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

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

来自:

显示模态视图控制器时,系统将创建一个 执行演示的视图控制器与 显示的视图控制器

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

如果用户已登录,则可以将items表VC保留在那里,如果用户未登录,则可以以模式显示登录VC

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