I am trying to create a custom NSTableCellView. I subclassed NSTableCellView and I need to have a custom background color and highlight/selection color. Is there a way to do this?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
the background as well as the selection is handled by the NSTableRowView
view. It CAN (partly) be overwritten by the cell but that's not how it should be at all.
Implement a custom rowview and return that for use behind the row you need to draw
@interface MyRowView : NSTableRowView
there you have:
- drawBackgroundInRect:
- drawDraggingDestinationFeedbackInRect:
- drawSelectionInRect:
- drawSeparatorInRect:
e.g.
@implementation MyRowView
- (void)drawSelectionInRect:(NSRect)dirtyRect {
[currentFill fillRect:dirtyRect inContext:[[NSGraphicsContext currentContext]graphicsPort]];
}
@end
SRC: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSTableRowView_Class/Reference/Reference.html