OSX:使用Tab键在文本字段和按钮之间移动键盘焦点

Obj*_*ift 4 macos cocoa objective-c

我正在尝试使用键盘的选项卡按钮在视图中的文本字段和按钮之间切换.文本字段之间的切换有效,但不会在按钮之间切换.视图如下所示.我没有在网上找到足够的资源继续进行.有谁知道如何解决这个问题?

在此输入图像描述

mar*_*siv 5

你无法解决这个问题.事实证明,在系统偏好设置>键盘>快捷方式中有一个复选框,您可以在其中更改整个系统的行为:

  • 仅在文本框和列表之间移动键盘焦点
  • 在任何控件之间移动键盘

默认情况下,首先按下复选框.

作为补充.默认情况下,NSWindow会分配一个初始第一响应者,并使用它找到的对象构造一个关键视图循环.您还可以通过调用此方法来更改关键视图循环:setNextKeyView.例如,

[firstTextBox setNextKeyView:secondTextBox];
[secondTextBox setNextKeyView:secondButton];
[secondButton setNextKeyView:firstButton];
[firstButton setNextKeyView:firstTextBox];
Run Code Online (Sandbox Code Playgroud)

这意味着对于期望通过所有控件实现移动控制焦点的用户,这将起作用.对于那些在设置中禁用此功能的用户,这将无效.

  • 您还可以在XIB中设置nextKeyView. (2认同)

Heo*_*des 5

您可以在文本字段上单击鼠标右键,拖动“nextKeyView”并在用户按下 Tab 键时将其拖放到您接下来要关注的另一个文本字段上。看起来像我下面的图片:
为文本字段添加选项卡操作