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 ans シミュレーターで同じ画像を取得しましたが、手動のスクリーン キャプチャーとプログラムによるスクリーン キャプチャーに対応する名前がないことです。名前は iPod では非常に大きく、同時に iPad とシミュレーターでは通常の名前であり、いくつかの名前もあります。それが私の問題です。

次の画像は次のとおりです。

この画像は、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 に答える