どのように私は自分自身を再表示するNSPopUpButtonCellを強制できますか?
-
21-08-2019 - |
質問
私の代わりに通常のテキストのボタンの上に孤立したアイコンを表示するようにNSPopUpButtonとNSPopUpButtonCellのカスタムサブクラスを作成しています。
これを行うには、私は
オーバーライドしています- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
適切なサイズと位置で私のアイコンを描画するために私のボタン電池サブクラスインチボタンの上にマウスを置いたユーザは、私は、画像を変更したいとき。私の唯一の問題は、私は(再び... drawInteriorを呼び出すことによって)ボタン電池の再表示を行う方法を見つけ出すことはできませんです。デフォルトでは、それだけでボタンがクリックされたとき、またはフォーカスが別のウィンドウに移動したときに再表示するように思われます。私はsetNeedsDisplayを試してみた:YESが、それはそれを行うにはいないようです。
。解決
私はこれを行うことが見いださ方法はへの呼び出しを挿入することでした。
[self updateCell:self.cell];
私のNSPopUpButtonサブクラスのすぐ内側に任意の時点の後に私は、セルによって表示される画像を変更します。
所属していません StackOverflow