2013-05-10 50 views
4

我剛剛遇到了在選擇NSTextField時重置顏色的問題。
我使用的方法是NSTextField帶/不帶焦點的文本和背景顏色

- (void) setBackgroundColor:(NSColor *)aColor 
- (void) setTextColor:(NSColor *)aColor 

我發現,當我在點擊的NSTextField,從而置於焦點中的文本字段,然後試圖改變顏色,顏色不重置,直到焦點被放置在該文本字段之外。
當焦點不在NSTextField上時,顏色變化不起作用。

回答

3

我發現無需訪問First Responder的簡單解決方案是在更改顏色後將該框重置爲可編輯/不可編輯。

- (void) setEditable:(BOOL)flag 

通過在2個的後續呼叫標誌的值設置爲NO,然後是(或YES,然後NO根據用途),這似乎從的NSTextField除去焦點,然後將其放回,也更新顏色。

希望這會有所幫助。