2011-03-14 9 views
0

Cocoaアプリケーションでカスタムビューを作成したいとします。これは基本的にレコードビューで、複数のデータベースフィールドのデータが長いリストに表示されます。 record view mockupCocoaアプリケーションのカスタムレコードビュー

今すぐ考慮すべきいくつかの事柄があります:ここでは簡単モックアップだ

  • フィールドの数と種類が
  • フィールドが異なってフォーマットすることができる(短いフィールドが1行である動的であり、
  • テキストは編集できませんが、ユーザーがコピーできるように選択する必要があります。
テキストは編集できません。

私はすでにCocoaでいくつかの経験を持っていますが、この基本的なレイアウトをどのようにして作成するのが最適かわかりません。 iOSではおそらくカスタムセルでUITableViewを使用しますが、NSTableViewは非常に異なり、おそらくこのアプリケーションには適していません。

いくつかのアイデアは、私の心に来る:

  1. ちょうどWebViewを使用して、HTMLなどのレイアウトを作成します。私はHTMLに関する多くの経験がありますので、レイアウトは簡単です。一方、これは汚れたハックのようだ。
  2. NSAttributedStringを使用してください。このレイアウトは主にテキストなので、これが可能でなければなりません。次に、それを読み取り専用NSTextViewに入れてください。レイアウトをピクセル完全にするのは難しいかもしれません。
  3. NSTextFieldおよびNSBox esをプログラムで多く作成します。レイアウト機能は、複雑な数学の多くを伴う(しかし、それは大丈夫ですので、私は、数学が好き)
  4. は、カスタムビューを作成し、すべての

最善の解決策は何ですかdrawRect:に描くんでしょうか?私は利用可能な選択肢の量に圧倒されています。どのソリューションが最もクリーンであるかわかりません。誰もが動的なデータビューを作成する経験がありますか?

答えて

0

NSTextFieldまたはNSTextViewを使用し、編集可能をNOに設定し、選択可能にしたままにします。

+0

私はすでにこれを私の質問で提案しました。なぜあなたはこの解決法を好むのですか? –

+0

アクセシビリティを無料で提供しているため、ドラッグ・ツー・セレクトにはヘッド・ラベルなどは含まれません。 –

1

WebViewはおそらく最も簡単なソリューションです。
そして最も重要なのは、ユーザーが気付かないことです。
選択の動作があまり便利でない場合があります。

他のソリューション(おそらく 'bettterとクリーナー' 一度正しく実装):

NSTabeViewカスタムセルで:
http://www.martinkahr.com/2007/05/04/nscell-image-and-text-sample/
http://juliuspaintings.co.uk/cgi-bin/paint_css/animatedPaint/070-NSTableView-ImageAndTextCell.pl

NSScrollViewカスタムNSViewsで:一度
http://juliuspaintings.co.uk/cgi-bin/paint_css/animatedPaint/022-NSCollectionView-random.pl

あなたはNSTabeView/NSScrollView/NSScrollView、でいくつかの経験を得る WebViewを実装するのがほぼ簡単で迅速です。

関連する問題