标签栏通过通知禁用

时间:2018-09-29 16:24:16

标签: swift uitabbarcontroller nsnotificationcenter tabbar

我有一个TabBarController,它具有禁用特定标签栏项的功能。当我在控制器的ViewDidLoad方法中调用此函数时,一切正常。 现在,我有了一个带有按钮的视图控制器,该按钮触发了到标签栏控制器的通知以调用disable方法,但是什么也没有发生,我仍然可以点击标签栏项。

这在我的Tab Bar Controller类中:

  override func viewDidLoad() {
    super.viewDidLoad()

    NotificationCenter.default.addObserver(self, selector: #selector(disableTrackerItem), name: .didFinishedTracking, object: nil)
    // Do any additional setup after loading the view.
}


@objc func disableTrackerItem() {
    if let items = tabBar.items as? [UITabBarItem] {
        items[1].isEnabled = false
    }
}

extension Notification.Name {
static let didFinishedTracking = Notification.Name("didFinishedTracking")}

我用日志检查了通知是否有效,但一切正常。

有人可以帮我吗?

0 个答案:

没有答案