2009-09-11 43 views

回答

3

當我遇到了類似的問題,從來沒有引起我@Benedict提到的方法。這是因爲NSOutlineView有一個單獨的方法:

- (void) outlineView:(NSOutlineView*)aTableView 
    willDisplayCell:(id)aCell 
     forTableColumn:(NSTableColumn*)aTableColumn 
       item:(id)item; 

請參閱NSOutlineViewDelegate protocol的文檔。 (這個正式協議在10.6中是新的 - 在先前版本的OS X中,這些方法是作爲NSObject的一個類別實現的。)

3

NSOutlineViewNSTableView的子類。在NSOutlineView委託中實施tableView:willDisplayCell:forTableColumn:row:

tableView:willDisplayCell:forTableColumn:row:實現是這樣的:

- (void)tableView:(NSTableView *)aTableView willDisplayCell:(id)aCell forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex 
{ 
    if ([aTableView isGroupRow: rowIndex]) { 
     //modify aCell 
    } 


}