我正在尝试使用NSOutlineView在我的应用中实现大纲视图,但在我的应用中,外层(父级)应该只有一个列(Brand),内层(子级)应该有5-6列(Size,类型,图像等)。
是否有可能实现,如果是这样,该怎么做?!
答案 0 :(得分:3)
是的,您可以在NSOutlineView
(或NSTableView
)中为“组行”添加“全角”单元格。
如果您使用的是基于单元格的大纲视图,请在outlineView:dataCellForTableColumn:item:
中实施NSOutlineViewDelegate
。在使用任何现有列调用此方法之前,将使用nil
列调用该方法。对于相应的行,返回原型NSCell
,并在您的其他数据源/委托方法中同样返回nil
“列”的相应信息。您只需为此创建一个通用NSTextFieldCell
;除非您愿意,否则无需自己设计样式。有关documentation的更多信息,请查看某些Apple sample code。
如果您使用的是基于视图的大纲视图,请实现等效的outlineView:viewForTableColumn:item:
。不幸的是,documentation目前还不存在,但记录了corresponding NSTableViewDelegate
method,您可以查看this代码示例。
全角项目的外观将根据为大纲视图配置的高亮样式(selectionHighlightStyle
)而有所不同;根据你的描述,听起来你会想要“常规”而不是“源列表”行为。