【问题标题】:How do I force an NSPopUpButtonCell to redisplay itself?如何强制 NSPopUpButton 单元显示自身?
【发布时间】:2009-06-03 06:24:51
【问题描述】:

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

为此,我将覆盖

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

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

【问题讨论】:

    标签: cocoa user-interface nspopupbuttoncell


    【解决方案1】:

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

    [self updateCell:self.cell];
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-17
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多