UIToolBar 设置从其他 viewControllers 启用
UIToolBar setting isEnabled from other viewControllers
我已经将工具栏嵌入到几个视图控制器中,如下所示。我希望能够在任何控制器的栏按钮项上设置 isEnabled
属性 - 例如,让我们按下一个按钮。我很确定我需要对工具栏视图控制器的引用,或者工具栏本身?我有点困惑...
我希望它是这样的:
@IBAction func buttonPressed(_ sender: UIButton) {
let vc = ToolbarViewController()
vc.settingsButton.isEnabled = false
}
但后来我崩溃了,因为 vc.settingsButton 为零。
ToolbarViewController 将是当前视图控制器的第一个子视图控制器。
如果您将按钮方法更改为:
@IBAction func buttonPressed(_ sender: UIButton) {
let vc = childViewControllers?.first as? ToolbarViewController
vc?.settingsButton.isEnabled = false
}
它应该可以工作,但是我鼓励您查看 UITabViewController 的文档,因为这是执行此操作的正常方法。
我已经将工具栏嵌入到几个视图控制器中,如下所示。我希望能够在任何控制器的栏按钮项上设置 isEnabled
属性 - 例如,让我们按下一个按钮。我很确定我需要对工具栏视图控制器的引用,或者工具栏本身?我有点困惑...
我希望它是这样的:
@IBAction func buttonPressed(_ sender: UIButton) {
let vc = ToolbarViewController()
vc.settingsButton.isEnabled = false
}
但后来我崩溃了,因为 vc.settingsButton 为零。
ToolbarViewController 将是当前视图控制器的第一个子视图控制器。
如果您将按钮方法更改为:
@IBAction func buttonPressed(_ sender: UIButton) {
let vc = childViewControllers?.first as? ToolbarViewController
vc?.settingsButton.isEnabled = false
}
它应该可以工作,但是我鼓励您查看 UITabViewController 的文档,因为这是执行此操作的正常方法。