0

私はNSOutlineViewアイテム(およびその中に子供たち)を持っています。

セル変更コードは次のとおりです。

- (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];
    }   
}

そして、これが私が必要とするものの視覚的な例です:

ここに画像の説明を入力

何か案は?

4

2 に答える 2

0

子供たちを右に押すことについてはよくわかりません。一部の e クラス関数を上書きする必要がある場合があります。

アイテムを選択すると、画像を白いバージョンに切り替えることができます。NSOutlineView が自動白黒スワップをサポートしているかどうかはわかりませんが、サポートしている場合は、背景スタイルを次のように設定する必要があります

-(void)setBackgroundStyle:(NSBackgroundStyle)backgroundStyle {


     [super setBackgroundStyle:NSBackgroundStyleLight];
}
于 2013-08-12T10:20:43.827 に答える
0

画像に関して探しているのは、NSImage setTemplate です。ドキュメントから、

Cocoa セルは、テンプレート イメージの性質 (単純化された配色と透明度の使用) を利用して、サポートされている各状態で対応するコントロールの外観を向上させます。

この場合、画像は選択されたネガと交換されます。

于 2014-05-12T19:33:01.613 に答える