7

在 CSS 中,您可以使用以下方法更改关注某事的效果:

.myelement:focus { ... }

在 Cocoa 中,文本字段总是发出难看的蓝色光芒。如何更改专注于 NSTextField 的效果(或者根本不让它做任何事情)?

4

1 回答 1

16

上述命令的 Cocoa 等效项是:

[[textField window] makeFirstResponder:textField];

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

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

[textField setFocusRingType:NSFocusRingTypeNone]; 
// (or NSFocusRingTypeDefault or NSFocusRingTypeExterior)
于 2012-06-07T21:20:40.150 回答