2

NSPopupButtonアプリケーションのリストがあり、アプリケーション名のメニューを各項目の左側にアイコンで表示するを作成したいと考えています。

NSPopupButtonを項目の配列にバインドできましたが、画像のバインド エントリがありません。そこにセルを入れて、セルを画像とテキストとしてバインドできると思ったのですが、IBで適切なセルが見つかりません。

バインディングを使用してこれを行うクリーンで簡単な方法はありますか? カスタムセルを作成する必要がありますか?

4

2 に答える 2

6

ストック NSPopUpButton を使用してメニュー項目のタイトルと同様に画像をバインドする方法はありません。それをサブクラス化し、IBPlugin を記述してサブクラスを公開する必要があります。もちろん、セルも処理する必要があります。

Bindings と NSPopUpButton を混在させると、セパレーターや「デフォルト」や「すべて」などのモデル外のメニュー項目を使用できないなど、さまざまな理由で問題が発生することがわかりました。ソース リストなどの別のコントロールを使用するか、ポップアップ メニューを手動で入力および再入力することを検討してください。

于 2010-01-23T07:43:40.247 に答える
0

NSMenuItem にはイメージ バインディングがあります (「パラメータ」セクション waaaaaayyyyy ダウン)。したがって、その値を実行中のアプリケーションの配列内のパスにバインドする必要があると思います。NSWorkspace共有オブジェクトを使用してアプリのアイコンを取得できます。

于 2010-01-23T07:43:24.840 に答える