NSTextField在禁用的时候不能自动变灰,你需要使用secondarySelectedControlColor,目的就是聚焦没有焦点的控件。
如何实现呢?
要实现这个功能,继承
NSTextField
,并且重载
setEnabled:
方法来修改颜色。
- (void) setEnabled: (BOOL) flag
{
[super setEnabled: flag];
if (flag == NO) {
[self setTextColor: [NSColor secondarySelectedControlColor]];
} else {
[self setTextColor: [NSColor controlTextColor]];
}
}