我有一個自定義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