解决了!
通过用相同的标识符作为柱定位视图原来我不得不实现在NSOutlineView
委托以下方法
- (NSView *)outlineView:(NSOutlineView *)outlineView
viewForTableColumn:(NSTableColumn *)tableColumn
item:(id)item {
if ([self outlineView:outlineView isGroupItem:item]) {
NSString *vId = [[[outlineView tableColumns] objectAtIndex:0] identifier];
return [outlineView makeViewWithIdentifier:vId owner:self];
}
return [outlineView makeViewWithIdentifier:[tableColumn identifier] owner:self];
}
显然,通过基于NSOutlineView生成视图为表中的每个单元格的默认视图。但是,在组项目/组行的情况下,没有与该行关联的tableColumm
,因此该视图变为零并且不显示。
玩弄苹果的TableViewPlayground sample project真的有帮助!强烈推荐!
感谢您的详细更新。 – 2012-01-02 00:19:32
+1对于TableViewPlayground引用 – rluba 2013-06-09 09:34:33
为什么'[outlineView:viewForTableColumn:item:'在[官方'NSOutlineViewDelegate'文档](https://developer.apple.com/library/mac/documentation/cocoa/reference/ NSOutlineViewDelegate_Protocol/Reference/Reference.html) – zakdances 2013-09-12 10:46:19