0

我需要检测是否有NSControl,例如NSButton,可以通过使用 Tab 键获得焦点。

如果用户在键盘/快捷方式/键盘/“更改选项卡移动焦点的方式”下的系统偏好设置中启用了该选项,则可以。

更具体地说,我喜欢让 NSButton 成为第一响应者,但前提是启用了“所有控件都可以获得焦点”模式。也许我可以询问控件是否接受 firstReponder 状态?

我尝试调用acceptsFirstResponder一个按钮,但即使使用 Tab 键不能成为 firstReponder,它也会返回 YES,所以这不是正确的方法。

4

1 回答 1

1

canBecomeKeyView是您要查找的属性/方法。

来自Cocoa 事件处理指南,键盘界面控制

AcceptFirstResponder 方法控制响应者在其窗口请求时是否接受第一响应者状态(即,当 makeFirstResponder: 以响应者作为参数调用时)。canBecomeKeyView 方法控制应用程序工具包是否允许选项卡到视图。它调用acceptsFirstResponder,但它还在确定要返回的值之前检查其他信息,例如视图是否隐藏以及是否打开了全键盘访问。

于 2019-06-05T09:59:00.627 回答