0

Mac Os X 機能の画像を添付し、それを複製しようとしました。主にMac Os Xの「検索」機能。

特に、( + ) ボタンを押して条件を追加して検索結果を絞り込むにはどうすればよいでしょうか?

XCode & Interface Builderを使用して、これがどのように機能するかを複製するための最良の方法は何ですか?

私の提案した計画:

  1. ' 2 列NSTableView'を使用して (ビュー ベースのテーブル) を作成します。1 つはコンテンツを含み、もう 1 つは ( + ) および ( - ) ボタン用です。scrollView でヘッダーが削除され、scrollBars が削除されます。

  2. IBOutletsNSTableViewCellとIBActionsを使用して作成SubClassし、そのコントロールにアクセスします。これを列 ' 1 ' に入れます。

  3. サブクラス化されたNSTableViewCellにPopUpControlと対応するその他の要素を設定します。

  4. 列 ' 2 ' に ( + ) と ( - )のボタンを入力し、その列もサブクラス化して、コントロールのIBOutletsIBActionsNSTableViewCellにアクセスできるようにします。

これが私の出発点です。現在取り組んでいるサンプル プロジェクトを使用して、これをすぐにアップロードまたは編集します。どんな助けでも大歓迎です!

この点に関して、あなたの考えや意見、助けを求めています。 ここに画像の説明を入力

4

3 に答える 3

4

車輪を再発明するのではなく、NSPredicateEditorを使用してみませんか。

これは、OS X 10.5 以降の Cocoa に組み込まれているコントロールであり、まさにこれを行うように設計されています。

于 2013-06-29T17:02:13.913 に答える
0

2 列のテーブル ビューを使用しないでください。代わりに 1 列のビュー ベースのビューを使用し、ビューでは制約や手動レイアウト コードを使用してボタンを配置します。

また、コンテナーは 2 つのテーブル ビューを格納する分割ビューである必要があり、分割はコードによって管理されます。

于 2013-06-29T13:37:56.317 に答える
0

ここでは NSTableView をまったく使用しません。NSTableView は強力なクラスです。選択の管理、選択したセルの強調表示、スクロール、画面外にスクロールしたビューのリサイクルなど、多くのことはこのコンテキストでは役に立たず、実際に邪魔になるものもあります。使用している唯一の「テーブルネス」はレイアウトであり、さまざまな方法で簡単に表形式のレイアウトを取得できます。

ただし、Maxthon Chan は、テーブルの各行を処理するかなり精巧なビュー コントローラーのペアが必要だと考えています。このクラスのペアは、検索クエリの 1 つの句を抽象化し、実行可能なクエリ全体を組み立てるコントローラーである親コントローラーへのシンプルなインターフェイスを提供します。行ごとに、次のものが必要です。

 - (MyQueryClause*) getQuery;

親コントローラーはすべてのアクティブな句を追跡し、追加/削除ボタンを処理します。

 - (IBAction) addClause: (id) sender;
 - (IBAction) removeClause: (id) sender;
于 2013-06-29T14:54:49.123 に答える