首先,有一个NSArrayController
("服务器"),其内容是"服务器"对象的数组.
我也有NSTableView
一个专栏.该列绑定到Server的"arrangeObjects.status"属性.
我使用自定义NSValueConverter
,以使该状态成列的图像dataCell
这是一个NSImageCell
.
我不明白的是为什么列中显示的图像是正确的,但一直消失.只是为了测试,我在表格视图外面有相同的图像进行比较,它绘制得很好.图像中的颜色不是半透明的.
NSImageCell
绘制图像是否褪色?我可以在IB中配置哪些东西将它们完全饱和?
我试图根据核心数据中的枚举值显示NSImage.我在NSImageCell上使用Value Transformer绑定到我选择要显示的图像的值.
当使用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;
}
}
Run Code Online (Sandbox Code Playgroud)
相应的静态NSImage定义:
static NSImage* downloadingImage;
static NSImage* downloadFailedImage;
static NSImage* downloadCompleteImage;
Run Code Online (Sandbox Code Playgroud)
和我使用的枚举:
typedef enum {
DownloadStatusNone,
DownloadStatusDownloading,
DownloadStatusComplete,
DownloadStatusFailed
} DownloadStatus; …
Run Code Online (Sandbox Code Playgroud) 我有NSTableView
一个NSImageCell
在里面.我想添加一个工具提示,当我用鼠标悬停图像时,我得到一个带有图像路径的工具提示.做这个的最好方式是什么?
我遇到的问题是:
请保持你的答案容易,我是一个新手.
- -编辑 - -
附加信息:myarray.arrangedobjects填充表格.它是一个NSMutableDictionaries数组.字典有以下键: