我正在尝试使用NSOutlineView在我的应用程序中实现大纲视图,但是在我的应用程序中,外层(父层)应该只有一列(品牌),而内部层(子层)应该有5-6列(大小、类型、图像等)。
这是可能的,如果是的话,如何做到呢?!
发布于 2013-11-01 18:40:07
是的,您可以在NSOutlineView (或NSTableView)中为“分组行”设置“全宽度”单元格。
如果使用基于单元格的大纲视图,请在outlineView:dataCellForTableColumn:item:中实现NSOutlineViewDelegate。在使用任何现有列调用此方法之前,将使用nil列调用该方法。对于相应的行,返回一个原型NSCell,在其他数据源/委托方法中,同样返回nil“列”的相应信息。您只需要为此创建一个通用的NSTextFieldCell;除非您愿意,否则不需要自己对其进行样式设计。更多的信息,在文档或看看一些苹果样本代码。
如果使用基于视图的大纲视图,则实现等效的outlineView:viewForTableColumn:item:。不幸的是,文档目前并不存在,但是方法已经记录在案,您可以查看这代码示例。
全宽度项的外观将根据为大纲视图配置的突出显示样式(selectionHighlightStyle)而有所不同;从您的描述来看,您可能希望“常规”而不是“源列表”行为。
https://stackoverflow.com/questions/19732706
复制相似问题