質問

カスタマイズしたいです NSTableView. 。私の全体的な要件は次のようです:

  • 各行には1つの画像といくつかのテキストがあります。画像とテキストは異なる場合があります。
  • 一部のセルには画像がない場合があります。
  • 行の高さは、外部要因に依存します。
  • セルは背景を描くべきではありません、それは NSTableView バックグラウンド。

これまでのところ、いくつかのテキストで透明なセルを描くことができます。私はグーグルで検索し、各セルをカスタマイズする必要があることがわかりました。この質問があります:2つの列を維持する必要がありますか、それとも左側に1つの画像とそれに隣接するテキストを持っているのか、1つの列を大丈夫にする必要がありますか?

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

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

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

役に立ちましたか?

解決

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

したがって、2つの列 - 1つは画像セル、もう1つはテキストフィールドセルを使用しています。

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

私はそう願っています。

一部のセルには画像がない場合があります、

問題ない。

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

テーブルビューのデリゲートになると、列の高さがどうあるべきかを尋ねます。

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

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

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

とにかくテーブルビューは独自の背景を描き、IBの検査官に設定できます。テーブルビューが背景を描かないようにしたい場合は、その背景色を明確な色に設定します。

これにはカスタムセルは必要ありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top