每行可变NSTextCell宽度/数量 - 是否可能?

时间:2014-01-22 06:07:40

标签: ios macos cocoa-touch cocoa

对于Mac OS和IOS,我正在寻找一种方法,允许表每行包含可变数量的NSTextCell个对象 - 想想电子表格或表格中合并的单元格在MS-Word中。

示例:表的第1行可能有一个非常宽的单元格,而第2行可能有50个,第3行可能有10个。通常为10-30行,总计。整个表必须能够坐在可滚动的视图中。

显然基于单元格的NSTableView不允许这样做,我怀疑基于视图的NSTableView也不能:它允许“空”或“丢失”单元格,但我根据我的要求,无法找到细胞可能跨越“柱”边界的证据。它似乎不是子类化的选项。

我查看了NSMatrix,这也强加了一系列项目。

我看过NSCollectionView,但它似乎也是以网格为基础的。

我已经看过使用HTML“TextTable” - 我怀疑这可能是大量的工作,是基于UI的实际表的不良替代品,并且会产生低性能。

我是否真的必须创建自定义视图,自己添加NSCell对象,并使用单个可编辑单元管理绘制/激活编辑的整个过程?我之前(在其他平台上)已经完成了非常复杂的可视化表格,并且它并不好玩......

我想到的一个绝望的举动是在同一个NSTables内创建多个单行NSScrollView,允许它们全部滚动在一起。 (每行可能有几十个单元格,但总共只有大约二十几个单元格)。它可能是hackish,但对最终用户来说可能是无缝的。

最后一种可能性是有人已经制作了可用的Cocoa源代码解决方案。

任何其他绝望的灵魂都沿着这条道路走过去并活着讲述这个故事?

1 个答案:

答案 0 :(得分:2)

我相信,{p> NSTableView可以做到这一点。参见例如http://gigliwood.com/tabletester/