2013-08-12 42 views
0

我有NSOutlineView項目(和其中的孩子)。問題與NSOutlineView和ImageAndTextCell

這裏是小區變更代碼:

- (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item { 

    if ([item isKindOfClass:[JQPage class]]) 
    { 
     [cell setImage:[NSImage imageNamed:@"doc_empty_icon&16"] size:16.0]; 
    } 
    else if ([item isKindOfClass:[JQElement class]]) 
    { 
     [cell setImage:[NSImage imageNamed:@"brackets_icon&16"] size:16.0]; 
    } 
} 

下面是什麼,我需要一個視覺例如:

enter image description here

任何想法?

回答

0

我不知道把孩子推向右邊。您可能必須覆蓋可用的類功能。

當選擇該項目時,您可以將圖像切換爲白色版本。我不知道,如果NSOutlineView支持自動黑/白掉,但如果這樣做,你必須有一些設置背景樣式類似

-(void)setBackgroundStyle:(NSBackgroundStyle)backgroundStyle { 


    [super setBackgroundStyle:NSBackgroundStyleLight]; 
} 
0

什麼你正在尋找關於圖像NSImage中setTemplate。從文檔中,

可可細胞利用模板圖像的性質 - 也就是它們簡化的配色方案和透明度的使用 - 來改善每種支持狀態下相應控件的外觀。

在這種情況下,圖像將與其選擇上的負值交換。