为什么NSImage被绘制在NSTableView的NSCell中翻转。以及如何正确解决这种行为。我从数据源方法返回图像:
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
return [NSImage imageNamed: @"test.png"];
}
作为解决方法,我试过了:
[NSImage setFlipped:NO];
一切正常,但正如文档中所说,它已弃用方法
osx 10.7-10.9
答案 0 :(得分:0)
Here是我刚刚遇到的一些信息。
基本上根据您的链接:
在要显示图像的列中拖动图像单元格
返回使用您的图像初始化的NSImageCell,如下所示:
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
NSCell *imageCell = [[NSCell alloc] initImageCell:[NSImage imageNamed: @"test.png"]];
return imageCell;
}
答案 1 :(得分:0)
我通过替换获取图像的代码来解决问题:
return [NSImage imageNamed: @"test.png"];
为:
NSData * imageData = [NSData dataWithContentsOfFile: [[NSBundle mainBundle] pathForImageResource: test.png]];
return [[NSImage alloc] initWithDataIgnoringOrientation:imageData];
我不知道这种行为和文件的原因没有说明我。但如果你解释我,我会很高兴的。