草庐IT

swift - 如何在 NSOutlineView 中实现不同的上下文菜单

我有一个基于View的NSOutlineView,如果用户右键单击标题或其中一个展开的项目,我想显示不同的上下文菜单。我将两个NSMenu放到Storyboard文件中。当我将HeaderCell的菜单导出连接到其中一个菜单时,我收到“不支持的配置”警告,并且菜单从未显示。(表格View单元格的相同警告)我正在使用Swift。有人可以指导我正确的方向吗? 最佳答案 1.在场景中添加NSMenu2.将Outlets设置添加到NSOutlineView,然后在NSOutlineView和NSMenu之间建立关系3.添加覆盖NSMenuD

Swift NSMenuItem 检测换档点击

我目前正在向我的NSMenu添加一个NSMenuItem,并且我能够成功检测并处理点击事件。但是,我想添加第二个选项并检测用户是否在按住SHIFT的同时单击了menuItemletmenuItem=myMenu?.submenu?.addItemWithTitle("Clickme",action:"itemClicked:",keyEquivalent:"")有什么办法吗?我查看了keyEquivalent,但我没有看到任何关于如何让它工作的信息。谢谢 最佳答案 感谢@LeoDabus的帮助,但我能够使用以下代码在我的NSMenu

swift - 如何在 NSMenuItem 中显示搜索栏

我正在构建一个MenuBarSwiftCocoa应用程序,它显示用户的github存储库列表。单击一个后,它会打开一个新的浏览器窗口,其中包含github.com上的存储库。我正在成功加载存储库列表并将它们呈现给NSMenuItem对象。现在,我尝试在列表顶部添加一个搜索栏,并根据搜索短语重新呈现项目。我的问题是:在NSMenu中显示“搜索栏”的最佳方法是什么?是否有标准的方法来“搜索/过滤”NSMenuItem?我是否应该重新呈现整个菜单(调用.removeAllItems())并动态添加新项目?或者我应该有两个静态菜单吗?我问这个是因为布局(例如NSMenuItems)在用户搜索和

swift - 不为 NSMenu 调用 validateMenuItem 或 menuWillOpen

我的Mac应用程序有一个NSMenu,其委托(delegate)函数validateMenuItem和menuWillOpen从未被调用。到目前为止,在线解决方案均无济于事。看起来我做的一切都是对的:菜单项的选择器在同一个类中。管理它的类继承自NSMenuDelegate我想描述我的问题的最好方法是发布相关代码。任何帮助将不胜感激。importCocoaclassUIManager:NSObject,NSMenuDelegate{varstatusBarItem=NSStatusBar.system().statusItem(withLength:-2)varstatusBarMenu

swift - 将 NSMenu 添加到右键单击弹出的 NSTableCellView

我想在用户右键单击NSTableView中的NSTableCellView时弹出一个NSMenu。letcell=myTableView.make(withIdentifier:"myCustomTableCellView",owner:self)as!MyTableCellView//subclassofNSTableCellViewletmenu=NSMenu()menu.autoenablesItems=falsemenu.addItem(NSMenuItem(title:"Test",action:nil,keyEquivalent:""))cell.menu=menu但是如果

swift - 打开 NSMenu 时刷新菜单栏 View

我正在开发一个应用程序,它在菜单栏中有一个自定义View。额外的菜单栏是一个自定义的NSView,每秒重绘一次。当我打开View的NSMenu时,View卡住并且不再重绘自身。我正在使用self.graph.needsDisplay=true触发重绘。是否可以在打开NSMenu时在菜单栏中刷新NSView? 最佳答案 原来它是thistopic的副本解决方案是在RunLoop中加入定时器:RunLoop.main.add(timer,forMode:.commonModes) 关于swi

macos - 如何以编程方式添加 NSMenu?

我没有使用storyboard和xib,只使用了代码。我想以编程方式添加“编辑”菜单。我的问题是1)如何显示“编辑”菜单/评论问题1)需要输入什么代码?2)swift提供了复制和粘贴等操作吗?classTestManager:NSObject{//....overrideinit(){leteditMenuItems=[NSMenuItem(title:"Cut",action:nil(/*Question2)*/),keyEquivalent:""),NSMenuItem(title:"Copy",action:nil,keyEquivalent:""),NSMenuItem(tit

swift - 如何在 NSMenu 中放置水平 slider (Swift 3、Xcode 8)

从macOSSierra开始,音量菜单栏项提供了一个水平slider项来更改系统的音量:我想在我自己的应用程序中采用这个概念并想出了以下类:importCocoa@NSApplicationMainclassAppDelegate:NSObject,NSApplicationDelegate{@IBOutletweakvarwindow:NSWindow!letstatusItem=NSStatusBar.system().statusItem(withLength:-2)funcapplicationDidFinishLaunching(_aNotification:Notifica

swift - 在 Swift macOS 中在 NSButton 旁边显示 NSMenu

如何在单击按钮后在我的NSButton旁边显示一个NSMenu?这是我目前所拥有的:@IBOutletweakvarBtnMenu:NSButton!//MenuletappMenu=NSMenu()letshowPrefsMenuItem=NSMenuItem(title:"Preferences...",action:#selector(VC.showPrefs(_:)),keyEquivalent:"")letshowAboutMenuItem=NSMenuItem(title:"About",action:#selector(VC.showAbout(_:)),keyEquiv

swift - Swift 中的 NSMenu 选择器

我不知道为什么这不起作用。菜单显示,但如果我将autoenablesItems保留为默认值,则菜单会显示为灰色,如果我将其设置为false,则不会调用操作。classGameScene:SKScene{//...funcaction1(sender:AnyObject){println("Urk,action1")}funcaction2(sender:AnyObject){println("Urk,action2")}funcpopUpMenu(#event:NSEvent){vartheMenu=NSMenu(title:"Contextualmenu")theMenu.addIt
12