3

画像として常に + を表示するポップアップ ボタンを作成しようとしています。クリックすると、追加するオブジェクトの種類を決定できるコンテキスト メニューがポップアップ表示されます。NSPopupButton を使用してこれを行う方法はありますか? NSPopupButotn の仕様で、メソッド SetImage は効果がないことがわかったので、このクラスを使用してこれが機能しない可能性が高いようです。これは正しいです?

4

4 に答える 4

8

NSPopupButtonを使用しないのはなぜですか?2つのボタンを使用して1つのタスクを実行することは正しくないように思われます。また、前述のように、ボタンを押し続けることに関して通常の方法で動作しません。

ポップアップボタンを好きなように機能させるには...プルダウンタイプに設定します。ポップアップボタン自体に名前や画像を付けないでください。ポップアップボタンに名前や画像がない場合は、最初のメニュー項目がボタンのタイトルになります。メニュー項目には画像を含めることができるため、最初のメニュー項目にタイトルを付けるのではなく、画像を設定するだけで、ポップアップボタンに表示される画像になります。残りのメニュー項目については、最初のメニュー項目の後に通常どおり追加してください。プログラムでコード内のメニュー項目を変更する場合は、最初のメニュー項目をそのままにしておくと、すべて問題がないことに注意してください。私はこれをいくつかのアプリケーションで問題なく実行しています。

于 2010-04-20T13:12:27.513 に答える
4

重要なのは、: を使用することNSPopUpButtonCell's setUsesItemFromMenuです。Apple ドキュメントには、これを使用する方法の例が含まれています。

于 2012-02-24T14:15:25.167 に答える
0

はい、の目に見える外観はNSPopUpButtonあなたが望むものに対して間違っています。

欲しいのはNSButtonメニュー付きのレギュラーです。Interface Builderでタイトルをクリアし、ベゼルを正方形に、位置を中央のアイコンのみのバージョンに、画像をに設定しNSAddTemplateます。

次に、を作成しNSPopUpButton、「プルダウン」に設定して非表示にし、NSButtonの下部に合わせてサイズを調整します。

最後に、のに接続performClick:します。NSButtonperformClick:NSPopUpButton

それはボタンのクリックホールドを処理しません。そのためには、(非描画)を使用するためのコードを作成する必要がありますNSPopUpButtonCell

于 2010-04-19T17:50:53.063 に答える