单击时仅突出显示按钮上的图像

时间:2010-09-01 04:59:25

标签: cocoa nsbutton

现在,当我在按钮上设置图像并使其无边框并尝试单击它时,它总是会显示一个与图像一起突出显示的矩形部分,这是单击按钮的实际尺寸。

我的要求是:我只想突出显示它上面的图像,而不是整个矩形部分。

有人能建议我实施它的一些逻辑吗?

2 个答案:

答案 0 :(得分:7)

在IB中,属性窗格:将类型设置为瞬时更改。

答案 1 :(得分:3)

不同的按钮类型突出显示不同。

我认为这对于你想要做的事情来说可能“足够好”:

  • 从IB调色板中拖出渐变按钮
  • 属性视图的Command-1
  • 解开“Bordered”
  • 在“图片”弹出式菜单中选择您的图片

这为您提供了一个仅限图像的可点击按钮,该按钮在单击时仅高度显示图像本身。您还可以为点击状态提供“替代图像”,但我认为这不是必需的。

如果这不是您所追求的,您需要创建一个指向NSButtonCell的IBOutlet链接并使用:

- (void)setHighlightsBy:(NSInteger)aType

确定使用哪种突出显示方法。

完整文档:

http://developer.apple.com/mac/library/documentation/Cocoa/Reference/ApplicationKit/Classes/NSButtonCell_Class/Reference/Reference.html#//apple_ref/occ/instm/NSButtonCell/setHighlightsBy

我希望这会有所帮助。

致以最诚挚的问候,