2012-01-25 2 views
0

写真アプリの動作とほとんど同じ方法で、iPhoneとiPadで大きな画像を拡大表示できるようにしたいと考えています。CATiledLayerなしでiOS上に大きな画像を表示して拡大する

私はCATiledLayerがこのためのgotoクラスであることを認識していますが、それが使用する審美的なものは自分のアプリケーションでは機能しません。 Photosアプリケーションはタイルを次々にレンダリングし、Photosアプリケーションは画面全体を一度にレンダリングします(そして、アプリケーションが追いつくことができるまで、ズーム中およびズーム後にピクセル化されたバージョンを表示します)。

私は確かに、それぞれのズーム後にイメージを背景にレンダリングするビューを実装できます。ただし、ソースイメージが大きくなると、アプリケーションがクラッシュします。だから、タイリングは魅力的です、私はすべてのタイルが準備が整うまで(そしてその間に低解像度の画像を表示する)、スクリーンを更新しない方がいいでしょう。

誰もこのようなものを実装しようとしましたか?何か案は?

答えて

2

低解像度画像を持つ1つのImageViewと透明な背景と最初は隠れているCaTiledLayerのカスタムビューの2つのビューを持つことができます。

ズームすると(両方のビューにズームを適用する必要があります)、別の解像度が必要な場合は、catiledlayeredビューを表示するだけで、読み込まれていないタイルにローラー(およびピクセル)が表示されます。

3

AppleのPhotoScrollerサンプルとScrollViewSuiteサンプルでこれを行う方法などが示されています。

PhotoScrollerを説明する "スクロールビューとデザインのアプリ" と題した2010 WWDCのビデオもあります。

関連する問題