在UITabBar选择时有条件地显示一个视图控制器

3
当点击“用户”选项卡时,我希望检查用户是否已登录。如果已登录,则显示“个人资料”视图,如果未登录,则显示“登录”视图。我该如何做?我已经尝试通过子类化UITabBarController 并将逻辑放在prepareForSegue函数中,但是没有成功。
实质上,当选择一个选项卡时,我如何选择要推送哪个视图控制器?
1个回答

2
你需要的是UITabBarControllerDelegate委托方法。
optional func tabBarController(_ tabBarController: UITabBarController,
shouldSelectViewController viewController: UIViewController) -> Bool

文档

返回值

如果应该选择视图控制器的标签,则为YES,如果当前标签应保持活动状态,则为NO。

讨论

选项卡栏控制器在响应用户点击选项卡栏项目时调用此方法。您可以使用此方法动态决定是否应将给定选项卡设置为活动选项卡。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接