2010-04-07 68 views
2

我正在學習Cocoa並嘗試創建一個顯示簡單書目列表的Mac應用程序。每本書都是帶有封面圖片,標題和作者的NSView。我想把這個列表作爲一個NSTableView,在每個單元格中顯示一個列和一個書視圖。不過,我還不知道如何在界面構建器的表格單元格中或以編程方式顯示自定義視圖。任何提示將非常感謝:)可可:如何讓表格視圖在每個單元格中繪製自定義視圖

Inso。

回答

3

如果您所有的「書籍瀏覽量」都是相同的大小,爲什麼不使用NSCollectionView/NSCollectionViewItem?這是一個更清潔的解決方案(只要它們的大小相同)。

+0

謝謝,我會嘗試了這一點。 – 2010-04-08 03:57:06

2

假設集合視圖不會是一個更好的解決方案,您需要做的是編寫自定義單元格。該列僅擁有一個這樣的單元格,表格視圖將使用該單元格繪製每行的列值。

(如果您從iPhone來了,是的,這是UITableView的完全不一樣。每個NSTableColumn都只有一個單元,它使用的每一行。)

如果您使用的是一個NSView類別的地方,那麼你可以把它變成NSControl的一個子類,並讓它使用同一個單元類的另一個實例。像大多數控件一樣,所有真正的工作都由單元完成,這使您可以在多個控件(單個控件和表視圖)中重用該行爲。

有關更多信息,請參閱Control and Cell Programming Topics

+0

你的回答非常好,很有教育意義,謝謝。然而,收集視圖確實是一個更好的解決方案。 – 2010-04-08 10:54:22

0

Apple在Lion中添加了view-based table views,所以你現在應該可以用NSTableView本地執行此操作。

(你仍然不能把一個的NSView在的NSCell,將沒有任何意義,但你可以有意見,而不是在表視圖細胞)

相關問題