【问题标题】:NSValueTransformerClass for NSImage from some enum/int value来自某个枚举/整数值的 NSImage 的 NSValueTransformerClass
【发布时间】:2014-07-29 08:10:38
【问题描述】:

如何使用可转换类在NSTableView 中绑定NSImageView

有一个enum 类型的标志,基于该图像需要更改。

【问题讨论】:

    标签: objective-c macos nstableview cocoa-bindings nsvaluetransformer


    【解决方案1】:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多