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

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

显然,基于单元格的NSTableView不允许这样做,而且我怀疑基于视图的NSTableView不能:允许“空”或“缺少”单元格,但我找不到证据表明单元格可以穿越“列”的边界,这是我所需要的。似乎没有子类化的选择。

我看过了NSMatrix,它还强加了一个项目网格。

我看过NSCollectionView,但它似乎也基于网格。

我看过使用HTML“TextTable”的情况-我怀疑这可能需要大量工作,无法替代实际的基于UI的表,并且会导致性能降低。

我真的必须只创建一个自定义视图,自己添加NSCell对象,以及自己管理一个可编辑单元格的整个绘制/激活编辑过程吗?我之前(在其他平台上)已经针对非常复杂的可视表执行了此操作,这并不有趣...

我想到的一个绝望的举动是在同一个NSTables中创建多个单行NSScrollView,从而允许它们全部一起滚动。 (每行可能有几十个单元格,但总共只有大约2打行)。它可能有点骇人听闻,但对最终用户而言可能是无缝的。

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

还有其他绝望的灵魂走过这条路而活着讲述这个故事吗?

最佳答案

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

10-07 18:36