Some time ago, Rickster posted a tip about engraved text, mentioning that a good way to do it was to subclass NSTextFieldCell and draw it slightly differently, etc. Since I was bored recently and have never subclassed an control before, I thought I'd try that out. Here's my code:
Code:
@implementation EngravedTextFieldCell
- (void)drawInteriorWithFrame:(NSRect)frame inView:(NSView *)view
{
NSLog(@"drawing engraved text");
[self setTextColor:[NSColor whiteColor]];
[super drawInteriorWithFrame:frame inView:view];
frame.origin.y++;
[self setTextColor:[NSColor blackColor]];
[super drawInteriorWithFrame:frame inView:view];
}
@end
@implementation EngravedTextField
+ (Class)cellClass
{
NSLog(@"setting cell class");
return [EngravedTextFieldCell class];
}
@end
I have in my nib an EngravedTextField.. but neither of my NSLogs is ever called. What am I doing wrong?