实际上我想在我的自定义 statusItemViewNSStatusItem
上绘制一个选定的背景。CALayer
但由于
- (void)drawStatusBarBackgroundInRect:(NSRect)rect withHighlight:(BOOL)highlight
在图层上不起作用(?)我尝试使用 backgroundColor 属性绘制颜色。但是将 selectedMenuItemColor 转换为 RGB 并没有多大帮助。没有渐变,它看起来很简单。:-/
我用这段代码转换[NSColor selectedMenuItemColor]
成一个:CGColorRef
- (CGColorRef)highlightColor {
static CGColorRef highlight = NULL;
if(highlight == NULL) {
CGFloat red, green, blue, alpha;
NSColor *hlclr = [[NSColor selectedMenuItemColor] colorUsingColorSpace:
[NSColorSpace genericRGBColorSpace]];
[hlclr getRed:&red green:&green blue:&blue alpha:&alpha];
CGFloat values[4] = {red, green, blue, alpha};
highlight = CGColorCreate([self genericRGBSpace], values);
}
return highlight;
}
知道如何在 CALayer 上绘制具有原生外观的状态项背景吗?