在UIImage并列在视网膜显示的奇怪arctefact

我的应用程序中有一个很奇怪的问题,只发生在Retina显示屏上,不是模拟器

我开发了一组embedded式openstreetmaps图块(地图块)的应用程序。

在每个应用程序中,我有很多地图(256像素/ 256像素),我显示在一个UIScrollView。 它非常适用于非视网膜设备和视网膜模拟器

问题在于,每个瓦片都以最后一行像素呈现为随机颜色(大部分时间是黑色)

为了说明,我使用设备和模拟器制作了同一地点的屏幕截图。 他们被分组在一张照片中:

在这里输入图像说明

你可以看到,黑色的像素线不是在瓷砖外,而是在瓷砖的最后一个像素线 (两个屏幕没有变化)

更奇怪的是:有时候,在瓦片中颜色变化很小的时候,像素线是随机元素的颜色,有时根本不会出现!

在这里输入图像说明

在这里,蓝线,灰线,黑线…..

编辑:

我简化了很多代码,并且只有这个2-tiles加载的问题:

int W = 256; int H = 256; NSString * map1 = [[NSBundle mainBundle] pathForResource:@"test1.png" ofType:nil]; NSString * map2 = [[NSBundle mainBundle] pathForResource:@"test2.png" ofType:nil]; UIImageView * pieceOfMap1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, H*0, W, H)]; UIImageView * pieceOfMap2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, H*1, W, H)]; [pieceOfMap1 setImage:[UIImage imageWithContentsOfFile:map1]]; [pieceOfMap2 setImage:[UIImage imageWithContentsOfFile:map2]]; [self.view addSubview:pieceOfMap1]; [self.view addSubview:pieceOfMap2]; 

我尝试了128×128 @ 2x瓷砖,但问题仍然存在!
它可以来自OpenStreetMaps图像?

我的两个瓷砖可以在这里下载: http : //dl.free.fr/n08C6JIqW

好的。

我只是在Photoshop中打开两个testing瓷砖, 没有改变 ,然后再次保存在PNG中。

黑线不再出现。

所以它来自开放的街道地图PNG图像(获取其中的一个,在地图上右键点击,然后保存图像)

问题部分解释 ,但现在我有2067年的文件到Photoshop …

我GOOGLE了,但我什么也没有find解释的东西

如果没有其他的解释,我会接受我自己的答案,但如果有人给我一些理解为什么 ,我会很高兴。