当选择NSTextField时,我遇到了重置颜色的问题。
我正在使用的方法是
- (void) setBackgroundColor:(NSColor *)aColor
- (void) setTextColor:(NSColor *)aColor
我发现当我点击NSTextField然后将焦点放在该文本字段中,然后尝试更改颜色时,颜色不会重置,直到焦点放在该文本字段之外。
当焦点不在NSTextField上时,颜色变化会起作用。
答案 0 :(得分:3)
我发现无需访问First Responder的简单解决方案是在更改颜色后将框重置为可编辑/不可编辑。
- (void) setEditable:(BOOL)flag
通过将flag的值设置为NO,然后在2个后续调用中设置YES(或者YES,然后根据用法设置为NO),这似乎从NSTextField中移除焦点,然后将其放回,同时更新颜色。
希望这有帮助。