swift - 在 Swift 2 中,禁用 NSMenuItem 的正确方法是什么?

标签 swift macos cocoa swift2 nsmenuitem

有一个 public enabled 属性,但将其设置为 false 无效。

startItem.enabled = false

我目前的解决方案是将操作的选择器设置为空字符串。

var startItem = NSMenuItem(title: "Start", action: Selector(""), keyEquivalent: "")

为什么您可以将 enabled 设置为 false 但没有效果,这让人感觉不直观。

最佳答案

startItem.enabled = false

除非您像这样在父菜单上将 autoenableItems 设置为 false,否则将不起作用:

let menu = NSMenu();
menu.autoenablesItems = false

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/MenuList/Articles/EnablingMenuItems.html

关于swift - 在 Swift 2 中,禁用 NSMenuItem 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35307981/

相关文章:

ios - 如何使用 Swift 在 iOS 中以编程方式最小化铃声和警报音量?

macos - 在 mac osx 终端应用程序中扩展 ascii 字符和 ansi

objective-c - 没有正确使用 NSLock,但似乎仍然有效

cocoa - NSPathControl 和 NSPathControlItem 是满是错误还是我? (优胜美地)

swift - 限制边距在 Xcode 上无法正常工作

ios - 当前模态/表单不显示内容,始终返回空/空白

ios - 向 iOS 项目添加和访问二进制 blob 原始数据文件

objective-c - 为没有 Cocoa 绑定(bind)的 NSTextView 设置占位符字符串

macos - 使用 AppleScript 从 Safari 保存打开网页的源代码

objective-c - 如何在 Cocoa 中获取系统文件夹的本地化名称