0

我正在创建 NSPopUpButton 和 NSPopUpButtonCell 的自定义子类,以在按钮顶部显示一个单独的图标,而不是通常的文本。

为此,我将覆盖

- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView

在我的按钮单元子类中以适当的大小和位置绘制我的图标。当用户将鼠标悬停在按钮上时,我想更改图像。我唯一的问题是我无法弄清楚如何重新显示按钮单元格(通过再次调用 drawInterior...)。默认情况下,它似乎只在单击按钮或焦点移动到另一个窗口时重新显示。我试过 setNeedsDisplay:YES 但这似乎没有。

4

1 回答 1

2

我发现这样做的方法是插入一个调用

[self updateCell:self.cell];

在我更改单元格显示的图像之后,立即在我的 NSPopUpButton 子类中。

于 2008-12-11T22:31:28.663 回答