私はフォトギャラリーアプリに取り組んでいます。ルート ビューは、ユーザーをサムネイル ビューに移動させるナビゲーション コントローラーです。サムネイルをタップすると、ユーザーは PhotoView に移動し、タップした画像が全画面表示されます。
以下は、PhotoViewController で行ったことです。
このアプローチは、私が github で見つけた ScrollingMadness プロジェクトとほとんど同じです。
UIScrollView を初期化し、サブビューとしてビュー コントローラーのビューに追加します。UIScrollView のいくつかの基本的なプロパティを設定します。UIImageViews に画像を追加します (数字で 5 つ)。これらすべての imageView をサブビューとして UIScrollView に追加します。任意の画像に対してズーム操作を実行すると、現在の画像サブビューを除くすべての画像サブビューがスクロール ビューから削除されます。画像が縮小して最小縮尺に戻ると、すべての画像が UIScrollView に追加されます。
Apple のサンプル コードで説明されているように、TapDetectingImageView デリゲートを使用して imageView を作成し、タッチ イベントを処理しています。
アプリを実行すると、シミュレーターですべて正常に動作します。何の問題もありません。しかし、デバイスでアプリを実行すると、3 番目または 4 番目の画像にスクロールした後にクラッシュします。デバッグ中に、3 番目または 4 番目の画像にスクロールした後に didReceiveMemory 警告が呼び出されることがわかりました。Instruments を使用してアプリを実行します。オブジェクトの割り当ては、クラッシュが発生したときの割り当てレベルを 1.5 ~ 2MB のみに示します。このレベルまでのメモリ使用量は非常に正常だと思います...そうですか?
以前にこれを経験した人、または私がそれを取り除く方法についての意見は... 現時点で私が世界で必要としているすべての助けになるでしょう.
他の情報が必要な場合はお知らせください。
PS > シミュレーターではアプリ全体が完璧なのに、デバイスでクラッシュするのを見るのはイライラします :(