以编程方式创建NSTableView和自定义NSViewController

时间:2014-03-19 06:28:16

标签: cocoa nstableview nsscrollview nsviewcontroller

在Interface Builder中创建NSTableView并将其连接到NSViewController的子类以获取其数据(在Interface Builder Objects部分中实例化)没有问题。

现在我想以编程方式创建NSTableView和NSViewController,但我无法弄清楚如何(我是Cocoa的新手)。鉴于NSViewController子类没有nib?

,这将是什么标准方法

顺便说一下,我想要这样做的原因是我想创建一个在滚动视图中出现(分开)的任意数量的小表视图。这件事我会后悔吗?从单个表视图中自定义地狱是否更好,以便它看起来被分解成各个部分,而不是实际具有单独的表视图?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用[[NSTableView alloc] init]创建与任何其他对象一样的表格视图。从那里,您可以以相同的方式创建NSTableColumn个实例,并使用addTableColumn:添加它们,并使用setDataSource:将其连接到视图控制器。然后使用addSubview:将其添加到父视图。

几乎所有可以在Interface Builder中完成的事情都可以通过这种程序化的方式完成,虽然它通常比较简洁,如果你能提供帮助,也不推荐。

另一种方法是设计一个新的NSViewController子类来处理表,为表视图创建一个单独的.xib文件,并根据需要使用initWithNibName:bundle:实例化每个新的表视图。 / p>