标签栏控制器隐藏标签取决于登录 - 使用故事板

时间:2018-02-12 10:43:47

标签: ios swift xcode uikit uitabbarcontroller

我的应用程序有两种类型的登录:供应商或客户。

根据登录信息,用户可以访问Tab栏控制器上的某些选项卡。 例: - 供应商:可以访问选项卡1,选项卡2和选项卡3 - 客户:可以访问选项卡1和选项卡2

尝试实现这个我创建了一个UITabBarController类(但是行customTabBar.items![2].accessibilityElementsHidden没有隐藏选项卡):

import UIKit
class CustomTabBarController: UITabBarController {

@IBOutlet weak var customTabBar: UITabBar!

var viewControllerList: [UIViewController]?

override func viewDidLoad() {
    super.viewDidLoad()

    if SingletonLogin.shared.isVendor {
        customTabBar.items![2].accessibilityElementsHidden // Tries to hide Tab 3
        customTabBar.items![1].title = "Items"
    } else {
        customTabBar.items![1].title = "Favorites"
    }
}

此课程与我的故事板上的自定义标签栏控制器相关联:

enter image description here

我能够以编程方式执行此操作,但之后我无法使用故事板上的视图。

我想找到一种方法来使用故事板。

1 个答案:

答案 0 :(得分:1)

class CustomTabBarController: UITabBarController {

@IBOutlet weak var customTabBar: UITabBar!

var viewControllerList: [UIViewController]?    // Not required

override func viewDidLoad() {
    super.viewDidLoad()

    if SingletonLogin.shared.isVendor {
        self.viewControllers = [self.viewControllers[0], self.viewControllers[1], self.viewControllers[2]]
    } else {
        self.viewControllers = [self.viewControllers[0], self.viewControllers[1]]
    }
}