我想获得mapview的截图。所以我用下面的代码。此代码在ipad和模拟器中完美运行,但在ipod上运行不正常。 iPad有iOS 6.0,我的xcode是4.2.1,iPod有iOS 5.0。
- (UIImage*) renderToImage
{
UIGraphicsBeginImageContext(mapView.frame.size);
[mapView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
问题是,我在iPad,iPod和模拟器中有相同的图像,但没有相应的手动屏幕捕获和程序屏幕捕获的名称。在iPod中名称非常大,同时iPad和模拟器中的名称是正常的还有一些名字在iPod中是看不见的。这就是我的问题。
以下图片是:
此图片属于iPod手动屏幕截图。
此图片属于iPod程序屏幕截图。
我不知道问题出在哪里。请帮助我。
答案 0 :(得分:1)
这里的问题是UIGraphicsBeginImageContext(mapView.frame.size);
。我刚将其替换为UIGraphicsBeginImageContextWithOptions(mapView.frame.size, NO, 0.0);
。然后它在iOS 5.0中工作。
答案 1 :(得分:0)
你可以通过在每种情况下查看应用程序来判断,不是你的截图代码神奇地创建了不同的地图,底层地图是不同的。