Cocoa一行表视图或水平列表视图

时间:2008-12-17 10:21:53

标签: objective-c cocoa

使用表格视图只显示大量元素的一行是否可行?我正在寻找的是某种水平列表,就像我们在XCode首选项或Aperture图像列表中一样。

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

你能指出我应该从哪里开始吗?

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:0)

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

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