【问题标题】:How to choose which UIViewController to show when clicking on UITabBarItem?点击UITabBarItem时如何选择显示哪个UIViewController?
【发布时间】:2013-05-06 15:48:15
【问题描述】:

我正在使用 StoryBoard,并且我有 UITabBarController 和一个 UITabBarItem(用户配置文件)。当我单击 UITabBarItem(用户配置文件)时,我想在显示视图之前检查用户是否已连接。我有两个 ViewContoller,一个用于登录 (SignInVC),另一个用于显示用户信息 (UserProfileVC)。

我想要的是:如果用户已连接,则显示 UserProfileVC;否则显示 SignInVC。

我该如何实现?

【问题讨论】:

    标签: ios storyboard uitabbarcontroller uitabbaritem


    【解决方案1】:

    这似乎是人们陷入困境的一个非常普遍的问题。我会将 UserProfileVC 设置为选项卡栏控制器的第一个选项卡中的控制器。在其 viewDidAppear 方法中,添加逻辑以确定是否要显示 SignInVC。如果这样做,请使用 presentViewController:animated:completion: 并将动画设置为 NO,以显示该控制器 - 如果您选择显示它,它将是用户首先看到的内容。如果用户成功登录,则使用 dismissViewControllerAnimated:completion: 关闭该控制器。

    【讨论】:

      【解决方案2】:

      您可以使用UITabBarControllerDelegatetabBarController:didSelectViewController: 方法知道何时选择了UserProfileVC 或SignInVC,并在适当的情况下更新viewControllers 的数组。

      【讨论】:

      • 但我正在使用情节提要,并且我使用 segues 来确定 UITabBarItem 和 UIViewContoller 之间的链接!您认为更新数组是唯一的解决方案吗?
      猜你喜欢
      • 2018-01-01
      • 2019-05-31
      • 1970-01-01
      • 2020-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      • 1970-01-01
      相关资源
      最近更新 更多