在 keyDown 事件中获取修饰符Flags,而无需同时按下非修饰键!

2024-03-15

我在 NSDocument 应用程序中对 NSWindow 进行了子类化,以便接收 keyDown 事件。

我在我的子类中使用了以下代码......

- (void)keyDown:(NSEvent *)theEvent {

    NSLog(@"keyDown!");

    if ([theEvent modifierFlags] & NSAlternateKeyMask) {
        NSLog(@"Alt key Down!");
    }
    else
        [super keyDown:theEvent];
}

当按下非修饰键时我收到按键事件! 例如,当我按 alt+z(alt+非修饰键)时,我还会收到“Alt Key is Down”。

这里的问题是,我想在仅按下 alt/option 键而不与其他键组合时处理事件,并且 -keyDown: 不会被调用!我缺少什么?

谢谢...


您可以单独按下 Alt/Option 键in -flagsChanged: http://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSResponder_Class/Reference/Reference.html#//apple_ref/occ/instm/NSResponder/flagsChanged:代替-keyDown:.

-(void)flagsChanged:(NSEvent*)theEvent {
    if ([theEvent modifierFlags] & NSAlternateKeyMask) {
        NSLog(@"Alt key Down (again)!");
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 keyDown 事件中获取修饰符Flags,而无需同时按下非修饰键! 的相关文章

  • 多线程:只有在执行完其他方法后才调用执行方法

    我正在尝试根据要求异步处理方法 一旦第一个方法完成 只有第二个方法应该开始执行 问题是第一个方法本身具有在后台线程上运行的代码 我尝试了dispatch semaphore wait 但这也不起作用 dispatch queue t que
  • UIWebview 中的 NSString

    我有一个NSString和我的项目中的 webView iPhone 的 Objective C 我称之为index html在 webView 及其内部我插入了我的脚本 javascript 如何在脚本中将 NSString 作为 var
  • 在 iOS 应用程序中处理数据(选择什么?NSData、CoreData、sqlite、PList、NSUserDefaults)

    当我开发 iPhone 应用程序 时间跟踪器 待办事项列表等 时 我永远不知道处理数据的最佳方式是什么 有一次我使用了 plist 下次使用 sqlite 或 CoreData 您如何决定什么最适合您的项目 只谈数据管理 例如 如果您想开发
  • MFMessageComposeViewController 显示空白/白屏

    if MFMessageComposeViewController canSendText MFMessageComposeViewController controller MFMessageComposeViewController a
  • 检查自定义键盘扩展的完全访问权限

    我需要检查自定义键盘扩展的完全访问权限 我找到了这个链接 如何检查 iOS 8 中的 允许完全访问 是否已启用 https stackoverflow com questions 25472388 how to check the allo
  • Xcode 不再识别测试

    我已经解决这个问题几天了 但我没有任何想法 我在 Xcode 中使用单元测试 效果很好 突然 Xcode 不再识别我的测试 如果我进入测试面板 它会显示我的测试为零 我其实有13个 运行单独测试或某些课程的能力现已消失 它不会在编辑器区域的
  • 标头搜索路径给 Grabkit 带来麻烦

    我正在为 iPad 开发一个 iOS 6 应用程序 我使用一个名为 Grabkit 的存储库 我必须将其作为嵌套 子项目添加到我的项目中 为了使其工作 我必须在标题搜索路径中添加以下代码 TARGET BUILD DIR include G
  • WPF DataGrid DataBindingComplete 事件在哪里?

    数据绑定完成后 我需要采取一些操作 例如 根据其他一些单元格使某些单元格只读 在WinForm DataGridView中 我曾经在DataBindingComplete事件中执行此操作 但是 我在 WPF DataGrid 中找不到这样的
  • 在 Cocoa 中实现源代码语法高亮的最佳方法是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发 Cocoa 应用程序 它应该能够分析和突出显示用 Objective C SQL JavaS
  • XCTestCase:ld:未找到架构 x86_64 的符号

    我只是想实现我的第一个 XCTestCase 实现 一切都构建良好 但是当我执行测试用例时 我面临 构建失败 Undefined symbols for architecture x86 64 OBJC CLASS Node referen
  • OCMock - 尽管是预期的,但仍调用了意外的方法

    这是经过测试的代码 if MFMailComposeViewController canSendMail MFMailComposeViewController mailComposeController MFMailComposeView
  • 在ios中通过社交框架登录Facebook

    我是 iOS 开发新手 我必须将 Facebook 登录集成到我的 iOS 应用程序中 当用户登录时 它会获取所有信息并将其导航到主屏幕 我已经通过 Facebook 最新的 SDK 完成了此操作 但我希望通过社交框架完成此操作 我浏览了很
  • 在 Objective-C 中做事的正确位置

    我开始尝试使用 ObjectiveFlickr 框架 目标是创建一个相对简单的 iPhone 地图应用程序 显示当前 MKMapView 区域内带地理标记的 flickr 内容 我遇到了与线程相关的问题before https stacko
  • 使用 strftime 将 NSDate 转换为 String

    如何将 NSDate 转换为使用 strftime 说明符格式化的 NSString 你可以使用 strftime NSDate date NSDate date time t time date timeIntervalSince1970
  • 具有多个嵌入 Segue 的 ContainerView

    有没有办法让单个 ContainerView 具有多个嵌入序列 目的是让 ContainerView 根据按下的按钮来容纳一些不同的 ViewController 一次只能看到一个 我想使用嵌入序列 以便在 Interface Builde
  • 如何在核心数据中应用group by子句

    我正在实现 tableview 我想在 tableview 部分显示类名 并且我正在尝试获取 使用核心数据实现的数据库中的类值 我想使用类名上的 group by 子句获取数据 这是我的代码 AppDelegate appDelegate
  • 使用动画更改 UIView 背景颜色

    我想改变我的UIView带有过渡动画的背景颜色 例如 如果视图是红色的 我将其更改为蓝色 蓝色将从屏幕底部向上滑动到顶部并充满整个屏幕 我想通过制作一个来做到这一点UIView具有相同大小和所需颜色 然后将其从屏幕外一直动画到顶部 但这似乎
  • 从 UIImagePickerControllerReferenceURL 加载 UIImage

    我正在使用 UIImagePickerController 来允许用户从图像库中选择图像 然后我想在 sqlite 数据库中启动该文件的位置 以便稍后可以参考它 我一直在谷歌上搜索如何做到这一点 但我的结果相当简短 我知道我可以通过调用委托
  • 如何确定 NSURLSessionTask 请求何时开始?

    I use NSURLSessionTask我正在尝试监视我的一些 HTTP 请求需要多长时间 我可以监视什么委托方法 或其他方法 NSURLSessionTask实际上提出了最初的请求 如果这是一个NSURLConnection里面一个N
  • 获取键盘事件中的鼠标位置

    我试图在用户按住 Shift 键时出现选择轮 滚轮应以鼠标位置为中心 然而当我测试这个时 pageX and clientX两者在事件对象上都未定义 是否可以通过键盘事件获取鼠标坐标 不 只需跟踪mousemove事件并持续保存当前位置 以

随机推荐

  • 在 R 中保存工作区图像

    在 R 会话结束时关闭 R Studio 时 系统会通过对话框询问我 将工作区图像保存到 工作目录 吗 这意味着什么 如果我选择保存工作区图像 它保存在哪里 我总是选择不保存工作区图像 保存它有什么缺点吗 我查看了 stackoverflo
  • Android Studio 更新后 AVD 无法启动

    在我安装了最近发布的 921MB 更新后 我的 AVD 不再启动 我不太记得更新的实体 可能是 API SDK 修订版 我在 Debian 上使用 Android Studio 2 3 版本 AI 162 4069837 和 API 25
  • 是否可以在没有重定向服务器的情况下使用 OAuth 2.0?

    我正在尝试创建一个与 SurveyMonkey API 交互的基于 Java 的本地客户端 SurveyMonkey 需要使用 OAuth 2 0 的长期访问令牌 我对此不太熟悉 我已经在谷歌上搜索了几个小时 我认为答案是否定的 但我只是想
  • 如何在 Notepad++ 中使用富文本?

    我喜欢Notepad 但有时我需要将一些单词设置为粗体或草书 更改字体大小等 在 Notepad 中可以吗 我们可以突出显示文本 右键单击文本Style Token gt Using 1st Style通过使用这个我们可以突出显示文本 最多
  • .NET ImageList 实现中的 ImageList 容量错误?

    我在 net 应用程序中为 ListView 使用 ImageList 时遇到一些问题 在我的实现中 这个 ImageList 根据使用情况可以容纳几千个图像 这个问题最初是在我尝试处理大量图像时出现的 当我超过 5K 图像时 我在尝试添加
  • 使用 espresso 在网页视图中查找多个元素

    我正在测试一个混合应用程序 其中每个视图都有一个网络视图 在其中一个 Web 视图中 我有一个具有相同属性的元素列表 它们具有相同的 xpath 定位器 如下所示 h4 contains data role product name 我想创
  • 如何使用 vba 正确地重新格式化具有多种变化的尺寸值?

    我正在尝试创建一个 Excel 宏 将维度值格式化为我们公司的格式 这样我们就可以轻松地将数据导入到我们的系统中 而无需手动执行数千个维度 我遇到了一些问题 供应商向我们发送的维度有很多变化 这使得我很难想出某种正则表达式来捕获所有值 即使
  • 如何确认 Twitter Web 意图已发送?

    我想确认用户在点击后发布的推文Twitter 网络意图 https dev twitter com docs intents 我怎样才能做到这一点 Example a href https twitter com intent tweet
  • Pandas——根据另一个表中的值设置行值

    我在 pandas 中有两张桌子 其中大约有 10 000 多行 如下所示 Table 1 col 1 date state ratio 50 more cols A 10 12 NY 5 A 12 05 MA NaN 我有另一个大约 10
  • 在生产构建 Angular 4 中访问环境变量

    我想部署一个带有可配置 api url 的 Angular 应用程序的生产版本 供用户测试 我使用environment ts 但在生产构建之后 我不知道如何配置变量 需要采取什么方法 environment ts 文件包含构建时配置 构建
  • robots.txt htaccess 阻止谷歌

    在我的 htaccess 文件中 我有
  • 当我尝试通过 js split 解析时,第一个元素是空字符串

    我尝试解析ini文件 第一个字符串是空字符串 但其他字符串还可以 结构 sensor1 param1 value sensor2 param1 value param2 value 我的代码是 success function data v
  • 如果我使用支持库 26,为什么选项菜单项会被挤压? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 选项菜单项的大小与支持库 25 的大小相同 但当我使用 26 0 0 时 它们都会被挤压 菜单项 XML menu me
  • 用我自己的值初始化pytorch卷积层

    我想知道是否有办法用我自己的值初始化 pytorch 卷积过滤器 例如 我有一个元组 0 8423 0 3778 3 1070 2 6518 我想用这些值初始化 2X2 过滤器 我该怎么做 我查找了一些答案 但他们大多使用火炬正态分布和其他
  • Puppeteer 等待所有图像加载然后截图

    我在用傀儡师 https github com GoogleChrome puppeteer尝试在所有图像加载后截取网站的屏幕截图 但无法使其正常工作 这是到目前为止我正在使用的代码https www digg com https www
  • 使用position_dodge绘制geom_segment

    我有一个数据集 其中包含个人随时间的工作地点信息 更具体地说 我有关于个人在特定工作场所工作的时间间隔的信息 library tidyverse library lubridate individual A a id lt c rep A
  • 为什么我的 venv 使用的 pip 版本与我安装的不同

    我正在设置虚拟环境 我收到有关过时 pip 19 2 的警告 因此我在全球范围内更新了我的 macos 系统上的 pip sudo H python3 m pip install upgrade pip 它似乎有效 但是当我制作新的 ven
  • 如何使用 CSS/Javascript 根据窗口高度使 div 在两个 div 之间自动调整其高度?

    我有一个 div 位于正文顶部 另一个 div 位于正文底部 现在我想在这两个 div 之间放置一个 div 并使其高度占据这两个 div 之间的最大可用空间 这两个 div 之间的垂直空间不是固定的 这意味着当用户减小 增加窗口的高度时
  • Android Studio 观察表达式持久性

    每次调试后 Android Studio 都会删除我的所有监视表达式 我怎样才能强制它保留我的手表并将它们保存在项目中 据我所知 没有办法保存手表 但是 您可以使用 自动变量模式 左下角调试器选项卡 gt gt 设置按钮 这将清理调试器变量
  • 在 keyDown 事件中获取修饰符Flags,而无需同时按下非修饰键!

    我在 NSDocument 应用程序中对 NSWindow 进行了子类化 以便接收 keyDown 事件 我在我的子类中使用了以下代码 void keyDown NSEvent theEvent NSLog keyDown if theEv