如何更改NSButton颜色?

时间:2011-08-01 20:47:33

标签: objective-c macos nsbutton nscolor

我一直在使用setBackgroundColor方法来改变NSButton颜色,但我的问题是,除了那个之外,还有其他方法可以用来改变NSButton的颜色吗?

2 个答案:

答案 0 :(得分:1)

要更改颜色或NSButton您需要访问该按钮,除非按钮位于TableView / CollectionView等中,否则主要使用IBOutlet执行此操作。

假设按钮插座为myButton,则需要

[[myButton cell] setBackgroundColor:[NSColor redColor]]; //Change the color according to your need

编辑:

您也可以通过使用这些方法<{1}}进行子类化来完成此操作

NSButtonCell

答案 1 :(得分:1)

我不知道这里发生了什么,但以下情况对我有用:

[[myButton cell] setBackgroundColor:[NSColor redColor]];

但是,只有在我的NSButtonCell子类中覆盖以下方法:

- (void)drawBezelWithFrame:(NSRect)frame inView:(NSView *)controlView
{
    [super drawBezelWithFrame:frame inView:controlView];
}

这里有趣的事实:它甚至没有调用(使用调试器测试)。