在Swift中禁用工具栏按钮

时间:2019-04-13 17:11:41

标签: macos cocoa

我有一个简单的Swift可可应用程序。主窗口包含:

  • 带有一些图像工具栏项目的工具栏
  • 一个NSViewController(名为ViewController)

在ViewController中,我实现了:

assets

根据我的要求启用按钮。

不幸的是,从来没有调用validateToolbarItem。

在另一个Objective-c应用程序中,我具有完全相同的方案和功能:

func validateToolbarItem(_ item: NSToolbarItem) -> Bool

已正确调用。

如何解决此问题?我想念什么?

谢谢。

1 个答案:

答案 0 :(得分:1)

我最终解决了这个问题。

ViewController必须实现NSToolbarItemValidation协议:

class ViewController: NSViewController, ..., NSToolbarItemValidation {

    ....

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

        return true or false
    }
}

问题是,当我第一次测试时,它不起作用。我必须重新启动Xcode才能使其正常工作。