问题标签 [nsresponder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
866 浏览

cocoa - NSResponder:覆盖mouseDown:,mouseDragged:,mouseUp:

我很难理解当一个人在 NSView 中覆盖鼠标事件时会发生什么。

在以下示例中,两个方法都由 Cocoa 框架调用:

当我将 [super mouseDown:theEvent] 添加到 mouseDown: 方法时,Cocoa 框架不再调用 mouseDragged: 方法:

为什么是这样?如何调用 Cocoa 框架的标准 mouseDown 行为以便调用 mouseDragged:?

0 投票
1 回答
206 浏览

datepicker - 如何允许箭头键操作图形 NSDatePicker?

这看起来很简单,但必不可少。

将 NSDatePicker(样式:图形)放入窗口,构建并运行,然后尝试使用箭头键四处移动。唯一的反应是计算机发出“叮”的一声。

我已经覆盖-keydown了一个简单的自定义 NSDatePicker 子类并打印了 theEvent 以注意到它们具有从 123 到 126 的对应键码。

然后,我偶然发现在每次按下箭头按钮后重置日期选择器的日期,内部-keydown,如下所示:

实现此方法的副作用是取消了用于单步执行对象的“制表符”键。

这似乎是一个很大的解决方法。日期选择器中是否已经包含另一种方法?

0 投票
3 回答
6907 浏览

objective-c - 在 NSView 控制器中获取按键事件

我正在尝试找到一种解决方案,允许我在视图控制器中获取 keydown 事件。我不相信默认情况下视图控制器是响应者链的一部分。

我将不胜感激如何进行此操作的示例。我很难找到我能理解的关于如何将 VC 添加到响应者链并获取事件的文档。

谢谢。

米克

0 投票
4 回答
8599 浏览

objective-c - 如何将 NSViewController 添加到响应者链中?

我很难理解和查找有关如何使 NSViewController 接受键和鼠标事件的信息。我在某处读到,为了在 NSViewController 中注册这些事件,应该将其添加到响应者链中,但我找不到如何正确执行此操作的答案。

任何形式的帮助都非常感谢!

0 投票
1 回答
174 浏览

cocoa - -[NSResponder showContextHelp:] 示例

我对 NSResponder 中的方法 -showContextHelp: 很好奇。

该文档指出:

由子类实现以调用帮助系统,显示与接收器及其当前状态相关的信息。

如何以及何时调用此方法?似乎找不到更多关于它的信息。

0 投票
1 回答
2120 浏览

cocoa - 如何处理急救人员和 NSPopover

我正在尝试复制 iTunes 中搜索字段的行为,以查找股票代码和名称。具体来说,当您开始在搜索字段中输入时,会出现一个带有过滤项目的弹出框。在大多数情况下,我有这个工作但是我无法复制的是它处理第一响应者的方式 在此处输入图像描述

输入三个字符后,我的弹出框出现了。此时 NSSearchField 将失去第一响应者状态,因此我无法继续输入。我想要的行为是能够在弹出窗口出现后继续输入,如果使用箭头键滚动项目,然后继续输入,您将从搜索字段中的最后一个字符继续。

我尝试的是继承 NSTextView(将其用作 NSSearchField 的自定义字段编辑器)并覆盖

通过简单地返回 NO,我可以在弹出框出现后继续输入,但显然我无法选择弹出框中的任何项目。所以我尝试了以下方法,如果发生向下箭头或 mousedown 事件,则返回 YES。

这适用于 mousedown 事件,但不适用于 keydown 事件,此外,当用户继续键入时,这并不能解决问题。

有什么建议么?

0 投票
2 回答
4503 浏览

cocoa - NSViewController mouseDown:未调用

我有一个 NSWindowController,我在其中添加了相应的 ViewController。我想在其中一个 ViewController 中处理触摸事件。我的课是

窗口.h

窗口.m

我可以在这里打印 mousedown 事件。现在我有一个viewController,它是

视图控制器.h

视图控制器.m

我想在 ViewController 中控制 mouseDown。我在这里错过了什么吗?

谢谢。

0 投票
1 回答
68 浏览

cocoa - 检测/检查 NSView (NSResponder) 中的字符序列

要求
我想检测的不是单个而是一系列字符来触发动作,例如当用户在子类中键入“ cat ”时NSView- 但不是“ c ”。

NSMutableArray除了在我的方法中输入最后 3 个字符keyDown:,从该数组中组装字符串(通过NSData?)并检查该字符串之外,还有什么更聪明的吗?

听起来有点尴尬..但我想不出更简单的方法(或内置功能NSResponder/ NSView

0 投票
1 回答
314 浏览

nsbutton - NSButton makeFirstResponder

我有一个带有窗口的简单 Mac 应用程序。在这个窗口中,我有两个NSTextfields 和一个NSButton

当窗口出现时,第一个NSTextfield具有焦点。我按下enter,焦点转到第二个NSTextfield。我enter再次按下,焦点传递到我的按钮。

这工作正常,但现在当我enter再次按下时,我希望按钮被点击,但它不会发生。

0 投票
0 回答
91 浏览

cocoa - 可视化第一响应者?

是否有某种 AppKit//NSDocument调试NSApplication选项、调试标志或其他第三方扩展来可视化当前应用程序firstResponder中任何给定NSWindow实例的电流?

我们正在构建一个单窗口应用程序,它可以动态加载和交换窗口内外的视图,并保持跟踪/调试当前firstResponder正在成为一件令人头疼的事情。

非常感谢任何提示/做法!