2

NSComboBoxのオートコンプリート機能を備えた のような編集可能なコントロールが必要ですNSComboBoxが、コンボ ボックスの問題は、値のリストがテキスト値にしかできないことです。一方、コンボ ボックスの矢印ボタンを押すと、NSMenu が表示される必要があります (テキストの前にアイコンを表示したり、区切り NSMenuItem を の項目の 1 つとして使用したりできるようにするためNSMenu)。

NSComboBoxということで、元のリストのポップアップをNSComboBox抑えて、代わりに anを表示するようにサブクラス化する予定でしたNSMenu

しかし、どこから始めればよいかわかりません。

まず、デフォルトのポップアップを抑制することができません。次に、コンボ ボックスのボタンを押しても通知がないため、NSMenu を表示できます。

どんな助けでも大歓迎です。

4

1 に答える 1

0

私が考えることができる解決策は、 を見ることNSControlTextEditingDelegateです。デリゲート メソッドを宣言します。

- (NSArray *)control:(NSControl *)control textView:(NSTextView *)textView completions:(NSArray *)words forPartialWordRange:(NSRange)charRange indexOfSelectedItem:(NSInteger *)index

オートコンプリートのニーズを達成するために NSTextField のデリゲートで使用し、ドロップダウン ボタンを自分で作成します。画像とメニューを表示するためのコード行を含む NSButton でそれを行う必要があります。

于 2013-03-22T11:31:40.717 に答える