2011-01-20 68 views
0

我想自定義NSTableView。我的總體要求是這樣的:透明NSTableView的

  • 每行都會有一個圖像和一些文字;圖像和文字可能會有所不同。
  • 有些細胞可能沒有圖像。
  • 行高度依賴於一些外部因素。
  • 小區不應繪製背景,它應該顯示NSTableView背景。

到目前爲止,我能畫透明細胞與一些文字。我谷歌搜索,發現我需要定製每個單元格。現在我有這個問題:我應該保留兩列還是一列可以,左邊有一張圖片,文本是否與其相鄰?

我也明白,我需要重寫兩個方法:

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

所以對於每一個細胞,我需要繪製/構建細胞 - 任何人都可以指導我?我正朝着正確的方向走嗎?採用上述方法,我可以通過動態高度獲得透明背景嗎?

回答

1

每一行都會有一個圖片和一些文字,

所以,兩列酮與圖像電池,其他與文本字段細胞。

圖像和文本可能會有所不同,

我希望如此。

有些小區可能沒有圖像,

不是問題。

行高度依賴於一些外部因素,

是表視圖的委託,它會問你行的高度應該是什麼。

細胞不應繪製背景,

它不會,除非你設置它這樣做。

應該總體來說它應該顯示NSTableView的背景下,

表視圖無論如何都會得出自己的背景,你可以在IB的督察組。如果您希望表視圖不繪製背景,則可以將其背景色設置爲純色。

您不需要任何這樣的自定義單元格。

+0

感謝彼得,讓我嘗試委託,實際上我正在尋找所有可能的委託功能,我可以顯示透明的背景和文字以及兩個可樂,但我不知道如何在一個列中顯示圖像。 – Amitg2k12 2011-01-20 15:22:58