1

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

我开发了一组带有嵌入式openstreetmaps 瓦片(地图)的应用程序。

在每个应用程序中,我都有很多显示在 UIScrollView 中的地图 (256px/256px)。它在非视网膜设备和视网膜模拟器上完美运行。

问题:每个图块都以随机颜色的最后一行像素出现(大多数时候是黑色)

为了说明,我用设备和模拟器对同一个地方进行了截图。它们组合在一张图片中:

在此处输入图像描述

可以看到黑色的像素线不是在图块外,而是在图块的最后一个像素线(导致两个屏幕之间没有移位)

甚至更奇怪的是:有时,当瓷砖中的颜色变化很小时,像素线会采用随机元素的颜色,有时根本不会出现!

在此处输入图像描述

这里,蓝线、灰线、黑线……

编辑 :

我简化了很多代码,故障只存在于这 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];

我尝试使用 128x128 @2x 瓷砖,但问题仍然存在!
它可能来自 OpenStreetMaps 图像吗?

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

4

1 回答 1

0

好的。

我只是在 Photoshop 中打开了两个测试图块,没有做任何更改,然后再次保存在 png 中。

黑线不再出现。

所以它来自开放的街道地图PNG图像(要获取其中一张,请访问http://www.openstreetmap.org/,在地图上右键单击,然后保存图像)

问题得到了部分解释,但现在我有 2067 个文件到 Photoshop...

我用谷歌搜索了它,但我没有找到任何可以解释的东西......

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

于 2012-07-23T09:10:00.653 回答