NSToolbarItem强调它什么时候不应该

时间:2015-03-13 22:37:22

标签: macos nstoolbaritem

我有NSToolbarItems的奇怪行为,它位于NSPanel(实用程序面板)的工具栏中,它是一个检查器面板。当面板首次显示时,三个项目都正常

Toolbar when it first displays

只要点击任何项目,左侧​​项目就会被蓝框突出显示。

Toolbar with blue highlight around first item

蓝色突出显示与用于NSToolbarItem的图像无关,并且始终位于左手图像周围。第一次点击后它永远不会消失。

导致突出显示的原因是什么?如何让它消失?

谢谢 -

1 个答案:

答案 0 :(得分:1)

这是焦点圈。它显示面板何时成为键(因为单击)并指示哪个控件将响应键盘事件,如按空格键。当按Tab或Shift-Tab时,它可能会在窗口中的控件之间移动。

如果您的面板中有任何文本字段或其他类似于单击的文本字段,那么单击其中一个可能会从工具栏项中删除焦点环并将其放在文本字段上。

你不应该将此视为一个大问题。但是,如果您真的想要更改它,可以使另一个视图成为第一个响应者(聚焦视图),以使工具栏项目没有焦点。

您可以设置窗口的initialFirstResponder和/或标签项。 (我假设工具栏项目在tabless选项卡视图的选项卡之间切换。)

或者,您可以通过[window makeFirstResponder:nil]使窗口成为自己的第一响应者。或者,您可以通过执行if ([view acceptsFirstResponder]) [view.window makeFirstResponder:view];对第一响应者进行任何特定查看。