2008-12-17 120 views
2

是否可以使用表格视图来显示大量元素的一行?我正在寻找的是某种水平列表,就像我们在XCode偏好设置或Aperture图像列表中一样。可可单行表格视图或水平列表视图

它的行为就像一个columnt表视图,但不是垂直显示元素,而应该是水平的。

你能指点我从哪里开始?

+0

你可以发布所需UI的截图吗? – amrox 2008-12-17 13:19:15

回答

0

有表格视图吗?不。如果我正确理解你想要的东西,过去我为这种类型的控件创建了自己的NSView子类。定义类似于NSTableView的数据源协议,并在您的NSView drawRect方法中,从左到右依次绘制元素。您可以跟踪控件中的分页,也可以将其放在滚动视图中,并在项目数发生变化时调整自己的大小。

通常这种类型的事情开始非常简单,并且一旦开始处理缓存,分页,选择,鼠标和键盘输入等,会变得有点复杂。我的建议是,尽可能简单地开始,并在完成前一个任务后逐个添加新功能。

6

如果您对Leopard-only没问题,新的NSCollectionView支持水平显示。只需在Interface Builder中将集合视图的行数设置为1;它甚至会为你处理水平滚动条。 IconCollection示例代码提供了它如何工作的简单演示。它的绑定与表格视图的工作方式类似,除了行和列以外,每个表示的对象都会得到一个显示它的'item'(一个类型为NSCollectionViewItem的对象),并且这些项目将被布置在网格中。上面的示例代码演示了如何在Interface Builder中设置这些'项目',这绝对是最简单的方法。