2

この質問に答えるためにインターネットを検索しましたが、まだ答えが見つかりません。

QLPrieviewController を使用してドキュメントを表示するアプリを作成しています。画面を取り出して外部ディスプレイに複製したい。以下のコードでios5で動作しています。このコードは ios6 では機能しなくなりました。

    UIGraphicsBeginImageContextWithOptions(self.previewController.view.frame.size, NO, 0.0);
    [self.previewController.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage * clonedImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    [mirrorWebPageView setImage: clonedImage];

次のコードを使用して何が得られるかを確認するために、フロント ウィンドウのレンダリングを使用しようとしました。

    NSArray * currentwindows = [[UIApplication sharedApplication] windows]; 
    UIWindow *trythisone = [currentwindows objectAtIndex:0];
    UIGraphicsBeginImageContextWithOptions(trythisone.frame.size, NO, 0.0);
    [trythisone.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage * clonedImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    [mirrorWebPageView setImage: clonedImage];

ナビゲーション バーと下部のツールバーは表示されますが、QLPreviewController の内容がビューに表示されません。

RenderIncontext にいくつかの問題があることを読みましたが、これが私の問題かどうかを特定できませんでした。

これを解決する方法についてのアイデアは役に立ちます。

ありがとう

4

2 に答える 2

0

iOS の最近のバージョンでは、プレビューされたドキュメントがプロセスによって表示されなくなったため、これは不可能です。プレビュー メカニズムは、別のプロセスによって処理されます。

于 2015-01-30T09:42:08.060 に答える
0

iOS6 でプログラムを使用してスクリーン キャプチャを実行しようとしましたが、バックグラウンド ビューのみがキャプチャされます。iOS5では動作します。プログラムがあなたが見ているものをキャプチャしてどこかに送信するのを防ぐセキュリティ機能である可能性があります.

于 2012-12-06T17:34:00.937 に答える