I am trying to use non-bordered pull down NSPopupButton in toolbar. The problem is the highlight which results in burning of the image. There is no burning when the NSPopupButton is bordered (however i have to subclass heavily to get the same effect). I tried to set numerous cell properties without effect. The only solution I have is to draw a substitute cell which has the same effect.
How to draw the highlight the same way the NSButtonCell is doing
@interface ToolbarPopUpButtonCell : NSPopUpButtonCell
@end
@implementation ToolbarPopUpButtonCell
- (void)drawImageWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
{
NSImage *image = [self image];
NSButtonCell *buttonCell = [[NSButtonCell alloc] initImageCell:image];
[buttonCell setHighlighted:[self isHighlighted]];
[buttonCell drawImage:image withFrame:cellFrame inView:controlView];
}
@end
Example (left - burning effect, right - nicer overlay)