NSButton在点击时绘制替代图像

时间:2012-03-27 20:13:06

标签: objective-c appkit nsbutton nspopupbutton

我知道这可能非常简单,但是我很难浏览头文件,并且可以使用一些指导。

我在笔尖中定义了NSPopUpButton,并附带了一个菜单。我已经在笔尖中将其定义为“拉下”类型,没有箭头(我们的设计师给我的图像包含他想要使用的特殊箭头)。这是一个无边框按钮。 title正确为空,但我已设置imagealternateImage

我正在寻找的是一个配置,无论是在笔尖,文件的所有者实现,还是由子类NSPopUpButton,这将允许我显示按钮的替代图像(或任何其他图像),而按钮的菜单正在显示。相反,看起来系统正在调暗按钮的图像。

我尝试过多种笔尖配置,NSButtonNSButtonCell的各种属性,覆盖mouseDownmouseUp。我什么都做不了。

2 个答案:

答案 0 :(得分:4)

如果玩“类型”属性没有帮助,您可能必须继承NSButtonCell的图形以获得您想要的内容。

NSButtonCell中的

- (void)drawImage:(NSImage *)image withFrame:(NSRect)frame inView:(NSView *)controlView似乎很有希望。

答案 1 :(得分:2)

我认为它是自定义的NSButtonCell课时;我不知道如何覆盖这种按钮的主题。

您唯一的选择是使用具有适当图像的常规NSButton并手动将菜单显示在正确的位置,这可能会更容易实现。