1

私の状況はこのようなものです。プログラムで、ユーザーに表示されている現在のビューの印刷画面を取得し、これをフォトアルバムに保存したいと思います。問題は、階層内のすべてのビューを表示したくないということです。私の計画は次のとおりでした:

  1. ビュー階層のコピーを作成します。
  2. 面白くなかったサブビューを非表示にします。
  3. 印刷画面を取ります。
  4. フォトアルバムに保存します。

問題は、私が最初の点で立ち往生していることです。プロトコルをUIView実装していないため、ビュー階層のディープコピーを作成できません。NSCopyingビューのアーカイブとアーカイブ解除を試みましたが、これはデッキトップでのみ利用可能でした。

私が見ているように、ここには2つのオプションがあります
。a)すべてのビューとサブビューにNSCopyingプロトコルを実装します。b)画面全体を覆う白いビューをフェードし(手動で印刷画面を取得するときのフラッシュ効果のようなもの)、その瞬間に必要なビューを非表示にします。

私が見逃したこの問題に取り組む他の方法はありますか?

編集:

    UIGraphicsBeginImageContext([[wordManager mainWorkViewController] view].frame.size);  
    [[[[wordManager mainWorkViewController] view] layer] renderInContext:UIGraphicsGetCurrentContext()];   
    UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();    
    UIGraphicsEndImageContext();

よろしく//Abeansits

4

1 に答える 1

0

そのため、残念ながら、誰もこの問題について支援を提供することができませんでした。問題を解決した方法:

印刷画面で不要な要素を削除しました。アニメーションを使用してこれを行ったので、グラフィックのちらつきはありません。結局、それはかなり良さそうに見えました、悪いことに、私は元の問題を決して解決しませんでした。

誰かが見つけたら修正を投稿してください。よろしくお願いします

// Abeansits

于 2010-07-08T16:00:57.347 に答える