2012-06-07 20 views
6

在CSS的效果,您可以更改使用注重東西的效果:如何更改專注於一個的NSTextField上OSX

.myelement:focus { ... } 

而在可可,文本字段中總是有一個醜陋的藍色輝光。我如何改變聚焦NSTextField的效果(或者根本沒有做任何事情)?

回答

12

可可相當於該命令的上面會:

[[textField window] makeFirstResponder:textField]; 

至於改變外觀,你問如何在所有應用程序更改爲所有控件(「全球」),或者只是一個文本字段在你自己的應用程序?全球變化沒有API,所以系統黑客是你唯一的途徑。祝你好運。

對於你自己的控件(那些屬於自己的應用程序),你可以在運行時在Interface Builder或通過代碼設置的對焦環型是這樣的:

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

,我沒有看到,其中一個可以在Interface Builder中設置「NSFocusRingTypeNone」。除此之外,你的答案幫助了我。 –

+1

@AdamJohns在屬性面板下,最後一部分標題爲「視圖」。 Focus Ring設置控件是一個彈出式按鈕。選擇「無」。 –

+0

我注意到這似乎不適用於'NSSecureTextField'。你也遇到過這個問題嗎? –