objective c - Custom View in NSMenuItem does not highlight correctly -


i try use custom view nsmenuitem, works. unfortunately, have difficulties highlighting (mouseover). followed instructions in other threads implement drawrect: in nsview subclass blue highlighting manually. seems work, highlighting color not correct. appears dark compared regular menu items , interestingly subviews of custom view use correct highlighting color (see screenshot). ideas on how fix issue?

my current drawrect: method in nsview subclass looks this:

- (void)drawrect:(nsrect)dirtyrect {     [super drawrect:dirtyrect];      bool ishighlighted = [[self enclosingmenuitem] ishighlighted];     if (ishighlighted)     {         [[nscolor selectedmenuitemcolor] setfill];         nsrectfill(dirtyrect);          [self.profilenameview settextcolor:[nscolor whitecolor]];         [self.securedipview settextcolor:[nscolor whitecolor]];         [self.separatorview settextcolor:[nscolor whitecolor]];         [self.connectiontimeview settextcolor:[nscolor whitecolor]];     }     else     {         [self.profilenameview settextcolor:[nscolor controltextcolor]];         [self.securedipview settextcolor:[nscolor disabledcontroltextcolor]];         [self.separatorview settextcolor:[nscolor disabledcontroltextcolor]];         [self.connectiontimeview settextcolor:[nscolor disabledcontroltextcolor]];     } } 

the resulting highlighting looks like:

enter image description here


Comments