Frage

So verwenden Sie eine transformierbare Klasse, um eine zu binden NSImageView In NSTableView.

Es gibt eine Flagge vom Typ enum, basierend darauf muss das Bild geändert werden.

War es hilfreich?

Lösung

Der NSValueTransformer Klasse ist wie folgt:

@implementation MyImageTransformer

+ (BOOL) allowsReverseTransformation{
    return NO;
}
+ (Class) transformedValueClass{
    return [NSImage class];
}


- (id) transformedValue:(id)value{

    NSArray *images = @[[NSImage imageNamed:@"failed.png"],
                        [NSImage imageNamed:@"success.png"],
                        [NSImage imageNamed:@"error.png"],
                        [NSImage imageNamed:@"inprogress.png"]
                        ];

    NSInteger integer = [value intValue];

    NSImage * image    = images[integer];
    NSData  * tiffData = [image TIFFRepresentation];

    return tiffData;

}
@end
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top