如何更改NSPopupButton的背景颜色?

时间:2012-11-04 19:47:40

标签: objective-c cocoa nsview nsbutton nspopupbutton

我正在尝试解决一个听起来非常简单的问题:更改NSPopupButton的背景颜色。

Interface Builder仅允许将样式更改为预定义样式,并且不允许更改背景颜色。此外,设置IBOutlet没有任何帮助,因为NSPopupButton没有setBackgroundColor方法。

我还尝试了对NSPopupButton进行子类化以覆盖drawRect方法。这是我尝试过的:

- (void)drawRect:(NSRect)dirtyRect
{
    [[NSColor redColor] setFill];
    NSRectFill(dirtyRect);
}

这会在NSPopupButton上绘制一个红色矩形,而不是将其设置为背景颜色。

关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:-3)

按钮由系统绘制,因此没有真正的方法来设置背景颜色,系统可以按照您想要的方式绘制背景颜色。您唯一能做的就是在drawRect中绘制它方法,也绘制标题,并绘制矩形的一部分。