Отключение кнопок панели инструментов в Swift - PullRequest
1 голос
/ 13 апреля 2019

У меня есть простое приложение какао Swift.Главное окно содержит:

  • панель инструментов с некоторыми элементами панели инструментов изображения
  • NSViewController (с именем ViewController)

В ViewController я реализовал:

func validateToolbarItem(_ item: NSToolbarItem) -> Bool

для включения кнопок в соответствии с моими требованиями.

К сожалению, validateToolbarItem никогда не вызывается.

В другом приложении Objective-C у меня точно такой же сценарий ифункция:

-(BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem

правильно вызывается.

Как мне решить эту проблему?Чего мне не хватает в swift?

Спасибо.

1 Ответ

1 голос
/ 14 апреля 2019

Я со временем разобрался с этим.

ViewController должен реализовать протокол NSToolbarItemValidation:

class ViewController: NSViewController, ..., NSToolbarItemValidation {

    ....

    func validateToolbarItem(_ item: NSToolbarItem) -> Bool {

        return true or false
    }
}

Проблема в том, что при первом тестировании это не сработало.Мне пришлось перезапустить Xcode, чтобы он заработал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...