- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要检测任何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/
我是一名优秀的程序员,十分优秀!