2010-04-07 27 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,将没有任何意义,但你可以有意见,而不是在表视图细胞)

相关问题