2012-10-23 9 views
8

私はMail.appとFinder.appのトークン検索機能を10.7+でエミュレートしようとしていますが、NSSearchFieldのように見えるものは左に検索虫眼鏡アイコン、右にキャンセル(x)ボタンがあります検索フィールド内のトークンも含みます。NSSearchFieldでNSTokenFieldCellを使用するようにしますか?

NSSearchField with tokens

NSSearchFieldではなくNSSearchFieldCellのNSTokenFieldCellを使用するようにする方法はありますか? NSSearchFieldインスタンスで-setCell:を呼び出してみましたが、これは正常に動作し、デバッガでpo [searchField cell]を呼び出すことで示されているようにセルを交換しているように見えますが、検索フィールドの描画は中断し、テキストフィールドは描画されません。

私は正しい方法でこれに近づいていますか、それとももっと良い方法がありますか?ありがとう!

アップデート 2016年10月25日:

  • SGTSearchField : NSSearchField
    • SGTSearchFieldCell : NSSearchFieldCell
    • SGTTokenFieldCell : NSTokenFieldCell
  • :私はファインダーとメールがミックスプライベートサブクラスを使用することがわかっアクセシビリティインスペクタを使用して

これらはSuggestions.frameworkというプライベートフレームワークの一部です。うまくいけば、アップルはこれらのクラスを将来的に公開する予定です。この機能を公開するには、file a radarを必ずご確認ください。

+0

私はトークン化された検索バーを実装しようとしたときに同じ問題に遭遇しました。以前NSSearchFieldを使用していたので、NSSearchFieldとNSTokenFieldを組み合わせる方法も探しています。何か解決策はありますか? –

答えて

0

ベストアンサー私はあなたのために2つはNSTokenFieldと一緒に行くことです。小さな検索アイコンを表示するように変更することができます。しかし、それが成立したり壊れたりしないなら、NSTokenFieldから多くのトークン化された機能を得ることができます。

関連する問題