Настройка UIToolBar isEnabled из других viewControllers - PullRequest
0 голосов
/ 03 июня 2018

Я встроил панель инструментов в несколько контроллеров представления, как показано ниже.Я хотел бы иметь возможность установить свойство isEnabled для элементов панели кнопок из любого контроллера - в качестве примера, скажем, нажатием кнопки.Я уверен, что мне нужна ссылка на контроллер вида панели инструментов, или, может быть, сама панель инструментов?Я немного сбит с толку ...

Я надеялся, что это будет что-то вроде:

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

Но потом у меня происходит сбой, потому что vc.settingsButton равен нулю.

enter image description here

1 Ответ

0 голосов
/ 04 июня 2018

ToolbarViewController будет первым дочерним контроллером представления текущего контроллера представления.
Если вы измените свой метод кнопки на:

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

Это должно работать, однако я рекомендую вам проверитьдокументация для UITabViewController, так как это нормальный способ сделать это.

...