在Swift中禁用工具栏按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Swift中禁用工具栏按钮相关的知识,希望对你有一定的参考价值。

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

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

在ViewController中我实现了:

func validateToolbarItem(_ item: NSToolbarItem) -> Bool

按照我的要求启用按钮。

不幸的是,从不调用validateToolbarItem。

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

-(BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem

适当地叫。

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

THKS。

答案

我最终整理了这个。

ViewController必须实现NSToolbarItemValidation协议:

class ViewController: NSViewController, ..., NSToolbarItemValidation {

    ....

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

        return true or false
    }
}

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

以上是关于在Swift中禁用工具栏按钮的主要内容,如果未能解决你的问题,请参考以下文章

片段交易后如何禁用按钮?

禁用导航抽屉,在片段中切换主页按钮/向上指示器

如何在使用Android Jetpack导航时禁用导航图标

根据活动(即可见)片段以编程方式启用或禁用按钮

当文本字段为空时禁用警报按钮 Swift 3

开始和暂停按钮启用/禁用 swift