从具有不同用户的 TabBarController 中删除选项卡 iOS Swift

Remove tab from TabBarController with different users iOS Swift

如上图所示,只有一个登录界面,登录成功后会出现标签栏。 我想要做的是,假设有两个不同的用户,例如 Admin 和 Staff,他们有不同的登录凭据,Admin 登录将显示底部的所有选项卡,但是,Staff 登录只能看到第一个选项卡。我怎么能那样做?有什么想法或代码示例可以参考吗?

在登录屏幕中,您可以覆盖 prepareForSegue,如下所示

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if let destinationTabBar = segue.destinationViewController as? UITabBarController {
           if (!isAdmin) {
               destinationTabBar.viewControllers?.removeAtIndex(adminScreenIndex)
           }
        }
    }

在上面的代码中,您在选项卡栏控制器的 prepareForSegue 方法中检查用户是否为管理员。如果用户不是管理员,则删除所需的屏幕(按 adminScreenIndex 索引)