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

时间:2016-01-31 17:11:45

标签: ios swift uiviewcontroller uitabbarcontroller

Login to TabBarController

正如您在上图中看到的那样,只有一个登录屏幕,登录成功后会出现标签栏。 我想要做的是,假设有两个不同的用户,如管理员和员工,他们有不同的登录凭据,管理员登录将显示底部的所有选项卡,但是,员工登录只能看到第一个选项卡。我怎么能这样做?是否有任何想法或代码示例?

1 个答案:

答案 0 :(得分:1)

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

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

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