問題タブ [nssearchfield]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1650 参照

cocoa - NSSearchField に相当するキーを実装する方法

NSSearchField コントロールを含む Cocoa アプリケーションを作成しています。ユーザーが COMMAND-OPTION-F を押すと、検索フィールドがフォーカスされるように、キーボード ショートカット/同等のキーを有効にしたいと考えています。

ただし、多くの検索を行った後、これを実装する最良の方法が何であるかは明確ではありません。Interface Builder の NSSearchField にこれを設定するオプションはありません。

NSSearchField をサブクラス化し、keyDown イベントをリッスンする解決策はありますか (そして、同等のキーが押されたかどうかを確認しますか?)

0 投票する
1 に答える
1410 参照

cocoa - NSSearchFieldが期待どおりに機能しない

私は彼の著書「CoreData」でMarcusZarraをフォローしようとしています。この本では、彼は小さなサンプルアプリケーションを作成していますが、うまくいかない場合はあまり役に立ちません...

彼はまず、3つのエンティティを視覚的に設計し、次に各エンティティのアレイコントローラーをメインのペン先に追加します。次に、テーブルビューとその他のビジュアルコンポーネントを追加して、アレイコントローラーからのデータを表示します。

これまでのところ、私はなんとかフォローできましたが、今では彼はGUIに検索フィールドを追加し、それをテーブルビューの1つと同じ配列コントローラーにバインドしています。予想される動作は、検索フィールドに入力するときにテーブルビューがフィルタリングされることですが、何も起こりません。

何が問題なのかを知るにはどうすればよいですか?

ペン先の関連部品は次のとおりです。

NSArrayControllerレシピ
-モード=エンティティ
-エンティティ名=レシピ

TableView w/TableColumn-
レシピへの値のバインド
-コントローラーキー=arrangedObjects-モデルキーパス=名前

検索フィールド
-レシピへの述語バインド
-コントローラーキー=filterPredicate-
モデルキーパス=名前
-表示名=述語
-述語フォーマット=keyPathには$valueが含まれます

コンソールに関連するメッセージはありません。

よろしく、
-Vegar

0 投票する
1 に答える
1046 参照

cocoa - プログラムで NSSearchField メニューを表示するにはどうすればよいですか?

Safari と同様の検索結果を表示する NSSearchField を実装したいのですが、プログラムでメニューを表示する方法がわかりません。任意のポインタをいただければ幸いです。

更新: 検索フィールドの検索フィールド セル内の検索ボタンを表す @NSButtonCell@ オブジェクトで @-performClick:@ を呼び出してプログラムでこれを実行しようとしましたが、 performClick が実際に呼び出されることを確認しましたが、メニューをトリガーしません.

0 投票する
3 に答える
670 参照

objective-c - NSSearchField内に進行状況インジケーターを表示する

NSSearchFieldを使用してインターネット経由でクエリを実行し、結果をテーブルビューに表示しています。クエリの実行中に、NSSearchField内に進行状況インジケーターを表示したいですか?私はこれが以前に別のアプリケーションで行われたのを見たことがあると思います。

これを実現するために使用できるオープンソースコンポーネントはありますか?

どうすればこれを行うことができますか?最善の方法は何ですか?落とし穴は何ですか?

0 投票する
1 に答える
1610 参照

cocoa - NSSearchFieldが最初のオートコンプリートリストエントリを使用して入力された文字列を上書きしないようにするにはどうすればよいですか?

次のように動作するnssearchfieldを作成する方法を探しています。

  • ユーザーがテキストで入力
  • 一致に基づいて、オートコンプリートのドロップダウンが表示されます
  • 検索フィールドのテキストは、リストの最初の項目にオートコンプリートされませ

重要なのは、文字列照合でサブ文字列を検索すると、入力した文字列が上書きされるため、テキストフィールドのオートコンプリートが機能しないということです。実際、これがデフォルトの動作であると思われますか、それとも検索フィールドの目的を誤解していますか?
さらに入力すると、リストがさらに制限されますが、オートコンプリートドロップダウンでアイテムを選択した後でのみ、そのアイテムがテキストフィールドに挿入されます。

nssearchfieldを使用してこれを実行できない場合、代替手段はありますか?

0 投票する
0 に答える
321 参照

cocoa - NSSearchField/NSTextField で (単語だけではなく) 文字列全体を検索できますか?

ユーザーは、文字列の一部のみを入力して、文字列全体を検索できる必要があります。
例:
"this is" は "Could you tell me where this is?" と一致する必要があります。
一致する文字列がドロップダウンに表示され、テキスト フィールドにドロップダウンから選択された文字列が表示されます。これは、一致が見つかったテキストをオートコンプリートするため、オートコンプリートでは機能しません。
これには NSSearchField を使用することを好みます (検索機能として明確に表示されるため) が、必要な検索動作が許可されていないようです。私の代替手段は何ですか?また、どのように取り組むべきですか?

0 投票する
3 に答える
231 参照

objective-c - NSSearchFieldがフリーズしないようにするにはどうすればよいですか?

送信者引数(文字列)を分析することにより、アクションメソッドがすべての検索を実行するNSSearchFieldがあります。

現在、検索機能(大きな配列にフィードする)はCPUを集中的に使用するため、検索フィールドが数秒間フリーズします。
それ以外の場合は、GUIがフリーズしないように、別のNSThreadをデタッチします。しかし、この場合、ユーザーが検索フィールドに別の文字を入力するたびに別の(「検索」)スレッドを切り離すため、これは不可能です。

NSSearchFieldがフリーズしないようにする別の方法はありますか?

ところで:私の推測はNOです。なぜなら、DevelopoerDocumentationの検索フィールドでさえ常にフリーズしているからです:)

0 投票する
1 に答える
969 参照

objective-c - パラメータをセレクタに渡すにはどうすればよいですか?

私は NSSearchField を持っています:

ここに私のdoSearchQueryがあります:

検索フィールドの内容を doSearchWithQuery に渡すにはどうすればよいですか?

0 投票する
1 に答える
2977 参照

cocoa - ユーザーが NSSearchField で Enter キーを押したときに関数を呼び出しますか?

この単純なタスクに対する答えが見つからないことに驚いています。ユーザーにテキストを入力してEnterキーを押してもらい、アプリケーションに入力内容を知らせてもらいたいだけです。どうすればいいですか?

0 投票する
1 に答える
3129 参照

objective-c - オートコンプリート時に NSSearchField にアクションを送信させる方法は?

この質問は簡単に思えますが、考えられることはすべて試し、何時間もグーグル検索しました。

基本的にAppleのSearchFieldサンプルコードをコピーして、オートコンプリートを行うNSSearchFieldがあります。ユーザーがテキスト入力を完了するまで検索を実行したくないため、IB で「検索文字列全体を送信」をオフにしました。

ユーザーがフィールドに入力し、Enter キーを押して、現在のオートコンプリートを受け入れるように指定すると、NSSearchField のアクションが起動します。代わりに、オートコンプリートを埋めるだけのように見えます。その後、ユーザーはアクションを実行するためにもう一度 Enter キーを押す必要があります。基本的に、Safari で URL の入力を開始すると、オートコンプリートが行われ、Enter キーを押すとページの読み込みが開始されます (アクションが開始されます)。ページの読み込みを開始するためにもう一度 Enter キーを押す必要はありません。

私が成功せずに試したこと:

  • control:textView:commandSelector:、insertNewline: を探しています。オートコンプリートを終了するためにエンターを押しているときに起動されません
  • controlTextDidEndEditing: をオーバーライドしています。同上

何か案は?ありがとう!