0

をカスタマイズしたいNSTableView。私の全体的な要件は次のとおりです。

  • 各行には、1 つの画像といくつかのテキストがあります。画像とテキストは異なる場合があります。
  • 一部のセルには画像がない場合があります。
  • 行の高さは、何らかの外部要因に依存します。
  • セルは背景を描画するのではなく、背景を表示する必要がありNSTableViewます。

これまでのところ、テキストで透明なセルを描画できます。Google で調べたところ、各セルをカスタマイズする必要があることがわかりました。ここで、次の質問があります。2 つの列を維持する必要がありますか、それとも 1 つの列で問題なく、左側に 1 つの画像とそれに隣接するテキストを配置する必要がありますか?

また、次の 2 つのメソッドをオーバーライドする必要があることも理解しています。

- (void) drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView

したがって、セルごとに、セルを描画/構築する必要があります-誰かが私を導くことができますか? 私は正しい方向に進んでいますか?上記のアプローチで動的な高さを持つ透明な背景を実現できますか?

4

1 に答える 1

1

各行には、1つの画像といくつかのテキストがあります。

つまり、2つの列(1つは画像セル、もう1つはテキストフィールドセル)です。

画像とテキストは異なる可能性がありますが、

私はそう願うべきです。

一部のセルには画像がない可能性がありますが、

問題ない。

行の高さは、外部要因に依存します。

テーブルビューのデリゲートになると、行の高さを尋ねられます。

セルは背景を描画するべきではありません、

あなたがそうするようにそれを設定しない限り、それはしません。

全体として、NSTableViewの背景を表示する必要があります。

テーブルビューはとにかく独自の背景を描画します。これはIBのインスペクターで設定できます。テーブルビューで背景を描画しないようにする場合は、背景色をクリアカラーに設定します。

このためのカスタムセルは必要ありません。

于 2011-01-20T15:09:47.980 に答える