我的应用中有一个非常奇怪的问题,只发生在 Retina显示屏和非模拟器。
我使用嵌入式openstreetmaps图块(地图片段)开发了一组应用程序。
在每个应用程序中,我有很多地图(256px / 256px),我在UIScrollView中显示。 它非常适用于非视网膜设备和视网膜模拟器。
问题:每个图块都以randow颜色显示最后一行像素(大部分时间都是黑色)
为了说明,我使用设备和模拟器制作了相同位置的屏幕截图。它们分为一个图片:
您可以看到黑色像素线不在图块之外,但在图块最后一个像素行中(导致两个屏幕没有移位)
甚至更奇怪:有时候,当瓷砖中的颜色变化很小时,像素线会采用随机元素的颜色,有时它根本不显示!
这里,蓝线,灰线,黑线......
编辑:
我简化了很多代码,并且故障只停留在这个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
答案 0 :(得分:0)
好。
我只是在photoshop中打开两个测试图块,不做任何更改,然后再次保存在png中。
黑线不再出现了。
所以它来自开放的街道地图PNG图像(要获得其中一个,转到http://www.openstreetmap.org/,在地图上右clic,然后保存图像)
问题是部分解释,但现在我有2067个文件到photoshop ...
我用Google搜索了,但我发现没有任何可以解释的东西......
如果没有其他解释,我会接受我自己的答案,但如果有人给我一些理解为什么,我会很高兴。