0

我想获取地图视图的屏幕截图。所以我使用了以下代码。此代码在 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 程序屏幕捕获。

在此处输入图像描述

我不知道问题出在哪里。请任何人帮助我。

4

2 回答 2

1

问题就UIGraphicsBeginImageContext(mapView.frame.size);在这里。我刚刚将其替换为 UIGraphicsBeginImageContextWithOptions(mapView.frame.size, NO, 0.0);. 然后它在 iOS 5.0 中运行。

于 2012-12-14T04:57:27.353 回答
0

您可以通过查看每种情况下的应用程序来判断,不是您的屏幕截图代码神奇地创建了不同的地图,底层地图是不同的

于 2012-12-12T23:40:44.833 回答