gpt4 book ai didi

cocoa - 确定所有控件是否都能获得焦点(即成为第一响应者)

转载 作者:行者123 更新时间:2023-12-03 17:46:29 24 4
gpt4 key购买 nike

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

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

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

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

最佳答案

canBecomeKeyView 是您正在寻找的属性/方法。

来自Cocoa Event Handling Guide, Keyboard Interface Control

The acceptsFirstResponder method controls whether a responder accepts first responder status when its window asks it to (that is, when makeFirstResponder: is called with the responder as the parameter). The canBecomeKeyView method controls whether the Application Kit allows tabbing to a view. It calls acceptsFirstResponder, but it also checks for other information before determining the value to return, such as whether the view is hidden and whether full keyboard access is on.

关于cocoa - 确定所有控件是否都能获得焦点(即成为第一响应者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56417576/

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