Cocoa NSTextField文本和背景颜色,带/不带焦点
在选择NSTextField时,我遇到了重置颜色的问题。Cocoa NSTextField文本和背景颜色,带/不带焦点,cocoa,nstextfield,Cocoa,Nstextfield,在选择NSTextField时,我遇到了重置颜色的问题。 我使用的方法是 - (void) setBackgroundColor:(NSColor *)aColor - (void) setTextColor:(NSColor *)aColor 我发现,当我在NSTEXT字段中单击,从而将焦点放在该文本字段中,然后尝试更改颜色时,在焦点放在该文本字段之外之前,颜色不会重置。 当焦点不在NSTEXT字段上时,颜色更改就起作用了。我在不必访问第一响应者的情况下找到的简单解决方案是在更改颜色后
我使用的方法是
- (void) setBackgroundColor:(NSColor *)aColor
- (void) setTextColor:(NSColor *)aColor
我发现,当我在NSTEXT字段中单击,从而将焦点放在该文本字段中,然后尝试更改颜色时,在焦点放在该文本字段之外之前,颜色不会重置。
当焦点不在NSTEXT字段上时,颜色更改就起作用了。我在不必访问第一响应者的情况下找到的简单解决方案是在更改颜色后将框重置为可编辑/不可编辑。
- (void) setEditable:(BOOL)flag
通过在随后的两次调用中将flag的值设置为NO,然后设置为YES(或者根据使用情况设置为YES,然后设置为NO),这似乎可以将焦点从NSTextField中移除,然后将其放回原处,同时更新颜色
希望这有帮助