2015-06-14 21 views
9

是否有可能创建在界面生成一个NSTableView具有行的预设数量,使得该表可以被用作一种形式?静态NSTableView的预设行

予有需要的各种标签和文本框的形式的图。我试过使用单个标签和文本框,但它看起来很差。与NSForm一样,这又增加了布局和单元格内容的一些限制。

所以表视图看起来表单视图非常抛光。我会最佳想做的是拖7 TextTableViewCell s转换在IB静态NSTableView和第二列行设置在第一列标签和动态设定值。

但如果我建立它在我的七行消失。我怎样才能让NSTableView动作?

回答

1

正如@Anc Ainu指出的那样,从OS X 10.10开始,可以在OS X中使用静态tableViews。您必须将usesStaticContents属性设置为NSTableView,以使其表现得像iOS上的静态tableView。根据文档:

静态表不依赖于数据源来提供行数。静态表格视图的内容是在设计时设置的,并且可以根据需要以编程方式进行更改。通常,在设置静态表视图后,不要更改其内容。

在Xcode中,您添加到静态表中的所有行被保存在相应的笔尖或故事板文件,并加载了表在运行时的休息。您可以使用insertRowsAtIndexes:withAnimation:方法以编程方式将表行添加到静态表视图。以编程方式添加行时,表视图委托必须实现tableView:viewForTableColumn:row:方法,以便为任何新行提供相应的视图。您也可以使用removeRowsAtIndexes:withAnimation:方法随时删除行。

请记住,该属性是OS X 10.10及更高版本中可用的属性。

+1

OSS 10.10提供的'usesStaticContents'怎么样?链接:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSTableView_Class/#//apple_ref/occ/instp/ NSTableView/usesStaticContents – AncAinu

+0

你是完全正确的!我不知道这个属性。马上编辑我的回答!谢谢! – mangerlahn

+1

是否可以在IB的表格视图中创建这些静态视图? –