私はALAssetRepresentationのフル解像度の画像を見るための簡単な画像ビューアを作ろうとしています。それはそれほど単純ではないことが分かります。UIScrollViewを大きな画像(Photos.appなど)で高速に表示するにはどうすればよいですか?
私の最初のアプローチは、UIScrollView内に大きなUIImageViewを作成することでした。これはうまくいったが、それは非常に遅かった。
写真アプリを使用すると、画像に触れるとすぐに大きなバージョンが開きます。最初は、非常に低い解像度の画像が描画されています。しかし、まもなく、より高い解像度の画像が現れます。また、ズームインすると、最初に画像の解像度が低くなり、解像度が上がります。
Photos.appの仕組みが説明されているWWDC 2010基調講演#104をチェックしました。しかし、私はどのようにこれを実装すると思いますか?基調講演では、このデモではタイル張りの画像を使用していますが、ALAssetRepresentationから得られない画像を使用しています。私はちょうど完全な解像度のバージョンを読み込み、CATiledLayerを使用して描画しています。また、ズームをet.cするのに時間がかかりませんが、タイルを描画するには遅すぎます。
Photos.appは、すべてのイメージの低解像度バージョンをどこかにキャッシュしていますか、それとも何が起こっていますか?何をするべきかについてのいくつかの指針が役に立つでしょう。
画像をその場でフル解像度バージョンから拡大縮小されているので実際には、fullScreenImageは速くありません:) –
@EmilErikssonあなたはこの文の参照を持っているのですか?私はそれを聞いたことはありませんが、理にかなっています。 – akaru