通常のテキストの代わりにボタンの上に単独のアイコンを表示するために、NSPopUpButton と NSPopUpButtonCell のカスタム サブクラスを作成しています。
これを行うために、私はオーバーライドしています
- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
ボタンセルのサブクラスで、適切なサイズと場所にアイコンを描画します。ユーザーがボタンの上にマウスを置くと、画像を変更したいと思います。私の唯一の問題は、ボタン セルを再表示する方法がわからないことです (drawInterior... を再度呼び出して)。デフォルトでは、ボタンがクリックされたとき、またはフォーカスが別のウィンドウに移動したときにのみ再表示されるようです。setNeedsDisplay:YES を試しましたが、うまくいかないようです。