문제

변형 가능한 클래스를 사용하여 바인딩하는 방법 NSImageView ~에 NSTableView.

유형의 플래그가 있습니다. enum, 이에 따라 이미지를 변경해야 합니다.

도움이 되었습니까?

해결책

그만큼 NSValueTransformer 수업은 다음과 같습니다:

@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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top