gpt4 book ai didi

macos - 如何为 OSX 菜单额外启用复制和粘贴

转载 作者:行者123 更新时间:2023-11-30 10:10:19 25 4
gpt4 key购买 nike

我正在用 Swift 编写一个额外的菜单,它会打开一个窗口供用户输入一些数据。为该窗口复制粘贴键盘快捷键会很方便。

我在我的额外菜单中添加了一个编辑子菜单,以便我定义键盘快捷键。我已将它们链接到 Controller 中的方法,但是当键入快捷命令(例如 command-v)时,它不会调用关联的方法。

我应该如何启用额外菜单的快捷方式?

最佳答案

我不知道这是否是正确的方法,但我设法根据这篇文章中的方法让它工作: Cocoa Keyboard Shortcuts in Dialog without an Edit Menu

我创建了一个类似的 MyApplication 类,并将第一响应者的复制、粘贴等操作链接到我的菜单。

我在为最新的 swift 获取正确的语法时遇到了一些麻烦。这是我使用的代码:

import Cocoa

class MyApplication: NSApplication {
override func sendEvent(event: NSEvent) {
if event.type == NSEventType.KeyDown {

if ((event.modifierFlags.rawValue) & (NSEventModifierFlags.CommandKeyMask.rawValue) > 0) {
switch event.charactersIgnoringModifiers!.lowercaseString {
case "x":
if NSApp.sendAction(Selector("cut:"), to:nil, from:self) { return }
case "c":
if NSApp.sendAction(Selector("copy:"), to:nil, from:self) { return }
case "v":
if NSApp.sendAction(Selector("paste:"), to:nil, from:self) { return }
case "z":
if NSApp.sendAction(Selector("undo:"), to:nil, from:self) { return }
case "a":
if NSApp.sendAction(Selector("selectAll:"), to:nil, from:self) { return }
default:
break
}
}
}
return super.sendEvent(event)
}
}

关于macos - 如何为 OSX 菜单额外启用复制和粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33313525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com