NSTextField文本和背景颜色有/无焦点

时间:2013-05-10 19:24:55

标签: cocoa nstextfield

当选择NSTextField时,我遇到了重置颜色的问题。
我正在使用的方法是

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

我发现当我点击NSTextField然后将焦点放在该文本字段中,然后尝试更改颜色时,颜色不会重置,直到焦点放在该文本字段之外。
当焦点不在NSTextField上时,颜色变化会起作用。

1 个答案:

答案 0 :(得分:3)

我发现无需访问First Responder的简单解决方案是在更改颜色后将框重置为可编辑/不可编辑。

- (void) setEditable:(BOOL)flag

通过将flag的值设置为NO,然后在2个后续调用中设置YES(或者YES,然后根据用法设置为NO),这似乎从NSTextField中移除焦点,然后将其放回,同时更新颜色。

希望这有帮助。