解決了!
通過用相同的標識符作爲柱定位視圖原來我不得不實現在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