有条件地从单个UITabBarItem生成两个不同的视图控制器

时间:2014-09-01 22:46:23

标签: ios objective-c uinavigationcontroller uitabbarcontroller

我正在编写一个包含UITabBarController的iOS应用程序,其中一个选项卡是用户的配置文件。但是,如果用户未登录,我希望应用程序显示不同的ViewController(登录/注册)。

我目前将配置文件选项卡路由到navigaion控制器,该控制器的RootViewController为ProfileViewController。在ProfileViewController的viewDidLoad中,我检查用户是否已登录。如果用户不是,则执行segue到SignInSignUpViewController,最终循环回ProfileViewController。

这种方法过于复杂,并且在几个方面被打破。例如,导航控制器允许用户在登录后返回注册/登录视图控制器。

我觉得这是iOS中非常常见的习惯用语,但我无法在网上找到一个好的解决方案。有人有主意吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可能需要查看UINavigationController方法– setViewControllers:animated:。在您登录后调用此并传递您的个人资料ProfileViewController。它将位于堆栈的顶部,因此用户将无法导航回登录视图控制器。