在Swift中禁用工具栏按钮

问题描述 投票:1回答:1

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

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

在ViewController中我实现了:

func validateToolbarItem(_ item: NSToolbarItem) -> Bool

按照我的要求启用按钮。

不幸的是,从不调用validateToolbarItem。

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

-(BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem

适当地叫。

我如何排除这个问题?我在swift中想念什么?

THKS。

macos cocoa
1个回答
1
投票

我最终整理了这个。

ViewController必须实现NSToolbarItemValidation协议:

class ViewController: NSViewController, ..., NSToolbarItemValidation {

    ....

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

        return true or false
    }
}

问题是当我第一次测试它时它不起作用。我不得不重新启动Xcode以使其正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.