0

PDFリーダーアプリに自由形式の描画を実装したい。UIImageView図面がレンダリングされるビューとして使用するチュートリアルを見ました。これを試してみましたが、図面を保存しようとした場合を除いて、うまく機能します。エッジを2回タップしない限り、あるページから別のページに移動できない場合があります。それ以外の場合は、移行がスムーズです。

では、この機能を実装するための最良の方法は何ですか?

- 追加情報 -

図面をUIImagePNGRepresentation保存するには、ディレクトリに保存するために使用して画像として保存します。保存された画像のファイル名は、ドキュメントのbookIdとページ番号に基づいています(例:121-5.png)

次に、図面をロードするために、本のIDとページ番号に基づいて画像が存在するかどうかをチェックする関数が呼び出されます。したがって、本のIDが121で、私が5ページにいる場合、関数は画像「121-5.png」をロードします。

4

1 に答える 1

2

これは推測にすぎません (そして、私が詳しく説明するには遅すぎます) が、最も明白な方法で保存部分を実行しようとしている場合は、おそらくメイン (UI) スレッドが停止しています。そうではない可能性があります。その場合、イメージがレンダリングされ、圧縮され、保存されるまで、インターフェイス全体が停止します。

それを修正するための2つの簡単な方法:

  • これを行うには、バックグラウンド スレッドを起動します。これにより、メイン スレッドが解放され、ユーザーに応答できるようになります。(検索からNSOperation始めます。ここではランダムなチュートリアルです)
  • 保存したいUILayerを「次のページ」に渡し、遷移したら保存を行います。それはまだ物事を少し失速させますが、少なくともユーザーは次に何をすべきかを考えており、あなたは何かをするために数100ミリ秒かかります.
于 2012-08-12T07:23:34.537 に答える