【发布时间】:2012-10-10 23:31:18
【问题描述】:
我有一个自定义的NSTableCellView,带有 3 个文本字段,其中 1 个是附带的,另外 2 个是我自己创建的。这就是问题所在:
即使我单击该行,文本字段的文本颜色也保持不变。我试图实现通过谷歌搜索找到的代码,但它不起作用。我的自定义 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];
}
当用户点击标签时,如何使标签的文本颜色变为白色?
【问题讨论】:
-
文本字段在哪里,都是标签对吗?
-
是的,没错。改题避免误会
-
只需使用
cellForRow获取didSelect中的单元格并设置单元格中标签的颜色.. -
用一些示例代码创建一个“回答这个问题”,我会接受它
-
我已经在下面回答了结帐..
标签: objective-c macos cocoa nstableview nstableviewcell