首页 > 其他分享 >Mac开发_使NSTextField支持Cmd+C/V快捷键复制、粘贴

Mac开发_使NSTextField支持Cmd+C/V快捷键复制、粘贴

时间:2024-06-16 18:00:16浏览次数:22  
标签:Cmd return self NSTextField 快捷键 isEqualToString event Copypast

  • NSTextField+Copypast.h

@interface NSTextField (Copypast)

@end
  • NSTextField+Copypast.m

@implementation NSTextField (Copypast)

- (BOOL)performKeyEquivalent:(NSEvent *)event {
    if (([event modifierFlags] & NSEventModifierFlagDeviceIndependentFlagsMask) == NSEventModifierFlagCommand) {
        // The command key is the ONLY modifier key being pressed.
        if ([[event charactersIgnoringModifiers] isEqualToString:@"x"]) {
            return [NSApp sendAction:@selector(cut:) to:[[self window] firstResponder] from:self];
        } 
        else if ([[event charactersIgnoringModifiers] isEqualToString:@"c"]) {
            return [NSApp sendAction:@selector(copy:) to:[[self window] firstResponder] from:self];
        } 
        else if ([[event charactersIgnoringModifiers] isEqualToString:@"v"]) {
            return [NSApp sendAction:@selector(paste:) to:[[self window] firstResponder] from:self];
        } 
        else if ([[event charactersIgnoringModifiers] isEqualToString:@"a"]) {
            return [NSApp sendAction:@selector(selectAll:) to:[[self window] firstResponder] from:self];
        }
    }
    return [super performKeyEquivalent:event];
}

@end
  • performKeyEquivalent: 为系统自动调用的方法,在需要使用快捷键复制、粘贴的地方导入这个分类,NSTextField就可以支持复制粘贴了。

标签:Cmd,return,self,NSTextField,快捷键,isEqualToString,event,Copypast
From: https://www.cnblogs.com/CH520/p/18251006

相关文章

  • idea快捷键设置
    一、idea快捷键设置1.删除一行:ctrl+D2.复制一行:ctrl+shift+下箭头3.移动一行:ctrl+下箭头4.放大字体:ctrl+5.格式化代码:ctrl+shift+F二、代码补全设置三、解决IDEA在XxxMapper.xml写SQL语句没有提示的问题1、连接数据库2、设置SQL方言3、把XxxMa......
  • dockerfile CMD 和 ENTRYPOINT 分别什么时候用
     在Docker中,CMD和ENTRYPOINT指令都是用来定义容器启动时运行的默认命令,但它们的用途和行为有所不同,适用于不同的场景:CMD用途:CMD指令用来指定容器启动后默认执行的命令及其参数。它更倾向于提供默认的或可被替代的执行行为。可覆盖性:当使用dockerrun命令启动容器......
  • caddy 入口 rootCmd 概览
     $goruncmd/caddy/main.go cmd/caddy/main.go(空壳) ->cmd/main.go (注册rootCmd) ->cmd/cobra.go (rootCmd实现) 以下是rootCmd中对Caddy的描述信息:Caddy是一个用Go语言编写的可扩展服务器平台,以其易用性和多功能性而著称。它核......
  • 禁止Windows用户使用cmd、powershell、注册表、*.bat脚本、修改网卡IP等操作
    如果你想让你的计算机或域控用户的计算机禁止使用cmd、powershell、注册表、bat脚本、修改网卡IP等操作1. 使用本地组策略(如果是本地用户)如果是非域用户,如果你在Windows10Pro或更高版本上,可以使用本地组策略(LocalGroupPolicy)来限制访问。打开“本地组策略编辑器”(gpedit.......
  • Navicat Premium 15永久使用,安装教程,快捷键
    哈喽,大家好,我是木头左!引言在当今信息化的时代,数据库已经成为了生活和工作中不可或缺的一部分。而Navicat作为一款功能强大的数据库管理工具,深受广大开发者和数据库管理员的喜爱。最新版的NavicatPremium15已经发布了,但是是收费的,可以免费试用14天,为了享受永远试用,特作研究,......
  • SQLCMD 密码中的 K8S 秘密用法始终为空
    我试图使用K8Ssecret密码连接到SQL服务器,但无论我使用什么语法或方法,密码总是空的。如果我硬编码密码,则一切正常。我还可以使用此命令在POD中打印密码,它还会返回存储在密码中的密码,因此POD可以实际访问密码。kubectlexec-itpodname--printenvMSS......
  • 【问题】--vscode快捷键
      (1)alt+“鼠标单击”:实现多行任意位置同时操作      (2)Ctrl+Alt,再按向上或 向下 的键, 进行多列操作。(用的少)         (3)shift+Alt,按住用鼠标左键拖动, 进行多列操作。       ......
  • 在Powershell或CMD中使用conda命令
    近日在配置环境时希望能在Terminal中直接使用conda命令而不是使用AndacondaPrompt.步骤控制面板-搜索“环境变量”-环境变量(或者直接在系统中搜索“环境变量”)点击“环境变量”的按钮,在弹出的窗口中找到系统变量-Path-编辑新增,填写你的conda的Script文件夹路径,保存注......
  • cmd常用命令
    一、启动cmd方式用户启动,Win+r输入cmd,Enter管理员启动,Win+r输入cmd,Ctrl+Shift+Enter二、文件夹命令进入文件夹cdD:\build\typora\file返回上一级cd..跳转到根目录cd\跳转指定路径(假设现在在D:\typora跳转到D:\网页下载)cdD:\网页下载打开文件夹......
  • c++的无限cmd病毒
    1.简单介绍c++的windows.h库里有很多老师不告诉你的函数,有一个函数叫MessageBox,用法如下MessageBox(...,"...","...",...);比如MessageBox(0,"点赞吧","提示",0);效果如下 还有一个函数,跟MessageBox差不多,叫MessageBoxA,使用方法为MessageBoxA(...,"...","..."......