2013-06-10 2 views
3

Я пытаюсь показать NSImage в зависимости от значения enum из Core Data. Я использую трансформатор значений на NSImageCell, привязанный к значению, на котором я выберите изображение для показа.NSImage имеет непрозрачность при использовании с NSValueTransformer

Он работает отлично и, как предполагалось, несчастливо при использовании NSValueTransformer, изображение получает непрозрачность, которую он не должен иметь.

Это отрывок из моего NSValueTransformer подкласса:

+ (void)initialize 
{ 
    downloadingImage = [NSImage imageNamed:@"downloading.png"]; 
    downloadFailedImage = [NSImage imageNamed:@"download_failed.png"]; 
    downloadCompleteImage = [NSImage imageNamed:@"download_complete.png"]; 
} 
+ (Class)transformedValueClass { return [NSImage class]; } 
+ (BOOL)allowsReverseTransformation { return NO; } 
- (id)transformedValue:(id)value { 
    switch([value intValue]) 
    { 
     case DownloadStatusComplete: 
      return downloadCompleteImage; 
     case DownloadStatusFailed: 
      return downloadFailedImage; 
     case DownloadStatusNone: 
      return nil; 
     case DownloadStatusDownloading: 
      return downloadingImage; 
     default: 
      return nil; 
    } 
} 

Соответствующие статические определения NSImage:

static NSImage* downloadingImage; 
static NSImage* downloadFailedImage; 
static NSImage* downloadCompleteImage; 

и перечисление я использую:

typedef enum { 
    DownloadStatusNone, 
    DownloadStatusDownloading, 
    DownloadStatusComplete, 
    DownloadStatusFailed 
} DownloadStatus; 

Ниже приведен скриншот от фактического приложения и один без NSValueTransformer, но статический NSImag e, присвоенный в IB. Так что PNG не имеет альфы или чего-то еще. Это происходит с тремя разными изображениями из разных мест.

actual application http://imageshack.us/a/img195/2492/appqe.png static image http://imageshack.us/a/img27/3289/43084671.png

ответ

7

Член cocoaheads Aachen указал мне: Why are my images in my NSTableView faded out?

От Джима Коррейа на какао-Dev:

«На 10,6 NSImageView нарисует его содержание, как потускнел когда управление отключено.

Ваша привязка имеет «условно разрешенные», повернутые на."

Это решило его для меня!

 Смежные вопросы

  • Нет связанных вопросов^_^