我创建NSPopUpButton和NSPopUpButtonCell的一个自定义的子类来上的按钮而不是通常的文本的顶部显示孤图标。

要做到这一点,我重写

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

在我的纽扣电池的子类来绘制我的图标在适当的大小和位置。当通过此按钮,用户将鼠标悬停我当时想改变形象。我唯一的问题是我无法弄清楚如何使纽扣电池重新显示(通过调用drawInterior ......再次)。默认情况下,似乎只有被点击按钮或当焦点移动到另一个窗口时重新显示。我试过setNeedsDisplay:是的,但是这似乎并没有做到这一点。

有帮助吗?

解决方案

我发现做到这一点的方法是插入至一个呼叫

[self updateCell:self.cell];

我NSPopUpButton子类内立即任何点之后我改变由该细胞所显示的图像。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top