-2

ビューのグリッドがあります。各ビューには、画像といくつかの軽量要素が含まれています。

そのような各ビューはフルスクリーンになる場合があり、その逆も同様です。そのCATransform3Dため、アイテムと一定の「フルスクリーン」フレームを最小化/最大化していました(変換にはスケーリングのみではなく追加のサブ変換が含まれているため、フレーム/境界を単純に減少/増加させることはできません)。

しかし今、私は別の問題を抱えています。各ビューのフレームは常に大きいため、その中の画像も大きくなければならず、メモリの問題が発生します。画像サイズをピクセル単位で縮小しようとしましたが、画像全体が (通常どおり) コンテナーに対して相対的に縮小されます。

そのような問題を解決する方法は?最小化後の最大サイズの画像は必要ありません(品質が低下しても)。

編集済み

特に、努力せずに追加の投票を得たいと思っていて、答える代わりに質問を言い直そうとし、画像サイズをピクセル単位で縮小することを提案している気分を害した人のために、質問をもう一度読んでください。

http://i62.tinypic.com/mr67ue.jpg

さて、画像サイズは縮小されましたが、そのコンテナはどうすればよいでしょうか?

4

1 に答える 1

0

私が見つけた最も適切な解決策は次のとおりです。

最適化されていないビューは画面サイズであり、スケールを含む他のすべての変換は を介し​​て適用されCATransform3Dます。

最適化するために、UIView、そのすべてのサブビュー、さらには画像のフレームを手動で縮小します (私の場合、配置モードがUIImageView標準のものを満たしていないため)。私はまだ同じ複合体を使用していますCATransform3Dが、変換をスケーリングしません。

どちらの場合も、最初のアンカー ポイント (ビューの中心) は画面の中心です。

画像を最適化するために、現在のビューのサイズをすぐに縮小し、キャッシュされたものを他のビューに使用します。キャッシュされた画像がない場合は、再作成しようとします。

于 2015-07-30T07:51:21.677 に答える