如何在OSX上改变关注NSTextField的效果

时间:2012-06-07 19:28:52

标签: macos cocoa focus nstextfield

在CSS中,您可以使用以下方式更改关注某些内容的效果:

.myelement:focus { ... }

在Cocoa中,文本字段总是有一个难看的蓝色光芒。如何更改聚焦于NSTextField的效果(或者根本不做任何事情)?

1 个答案:

答案 0 :(得分:16)

上面命令的Cocoa等价物是:

[[textField window] makeFirstResponder:textField];

至于更改外观,您是在询问如何为所有应用程序(“全局”)中的所有控件更改它,还是只为自己的应用程序中的文本字段更改?全局变更没有API,因此系统黑客是您唯一的途径。祝你好运。

对于您拥有的控件(属于您自己的应用程序的控件),您可以在Interface Builder中设置焦点环类型,或者在运行时通过代码设置,如下所示:

[textField setFocusRingType:NSFocusRingTypeNone]; 
// (or NSFocusRingTypeDefault or NSFocusRingTypeExterior)