UIToolBar设置是从其他viewControllers启用的

时间:2018-06-03 02:44:44

标签: swift uitoolbar isenabled

我已将工具栏嵌入到几个视图控制器中,如下所示。我希望能够在任何控制器的栏按钮项上设置isEnabled属性 - 例如,按一下按钮就可以了。我非常确定我需要对工具栏视图控制器或工具栏本身的引用?我有点困惑......

我希望它会像:

@IBAction func buttonPressed(_ sender: UIButton) {
   let vc = ToolbarViewController()
   vc.settingsButton.isEnabled = false
}

然后我崩溃因为vc.settingsButton是零。

enter image description here

1 个答案:

答案 0 :(得分:0)

ToolbarViewController将是当前视图控制器的第一个子视图控制器 如果您将按钮方法更改为:

@IBAction func buttonPressed(_ sender: UIButton) {
    let vc = childViewControllers?.first as? ToolbarViewController
    vc?.settingsButton.isEnabled = false
}

它应该可以工作,但我建议您查看UITabViewController的文档,因为这是执行此操作的常用方法。