我有一个自定义NSTableCellView
,包含3个文本框,1个来过,另外2个是我自己创建的。这里的问题:
自定义NSTableCellView标签在选择时不会更改文本颜色
即使我点击该行textfields的文本颜色保持不变。我试图实现一个我通过谷歌搜索发现的代码,但它不起作用。我的自定义NSTableCellView代码:
- (void)drawRect:(NSRect)dirtyRect{
NSColor *color = [NSColor colorWithCalibratedRed:(26/255.0) green:(26/255.0) blue:(26/255.0) alpha:1.0];
[self.textField setTextColor:color];
color = [NSColor colorWithCalibratedRed:(102/255.0) green:(102/255.0) blue:(102/255.0) alpha:1.0];
[_lbl1 setTextColor:color];
[_lbl2 setTextColor:color];
}
- (void)setBackgroundStyle:(NSBackgroundStyle)backgroundStyle {
NSColor *color = (backgroundStyle == NSBackgroundStyleDark) ? [NSColor windowBackgroundColor] : [NSColor controlShadowColor];
self.textField.textColor = color;
self.lbl1.textColor = color;
self.lbl2.textColor = color;
[super setBackgroundStyle:backgroundStyle];
}
我能做些什么,使标签的文本颜色为白色,当用户点击他们?
哪里是文本框在他们的,都是标签对吗? – vishy
是的,没错。改变了这个问题,以避免误解 –
只需使用'cellForRow'在'didSelect'中获取单元格并设置单元格中标签的颜色。 – vishy