2011-11-08 9 views
0

私は大きなUIimage(2000x2000)を持っています。アプリ起動時に毎回描画され、CALayerにコピーされます。 現在の時刻では、メインビューにUIScrollViewを配置し、描画された画像でCALayerを作成します。 小さなズームでスクロールすると上手く見えます。しかし、最小ズームでは、画像全体が見えるとき、画像スクロールが遅くなると、ムーブタッチに素早く反応しなくなります。大きなUIImageスクロール性能

だから、質問です。スクロールのパフォーマンスを上げるために何ができるのですか?

答えて

1

私が取るアプローチは、画像の低解像度バージョンを低ズームレベル(低ズーム=ズームアウト)で使用することです。

まず、UIImagesのサイズ変更については、this postを参照してください。

scrollViewDidEndZooming:withView:atScale: method in UIScrollViewDelegateに応答して、特定のズームレベルに達すると画像を切り替えます。これは正しいバランスを見つけるためにいくつかの試行錯誤が必要です。イメージをいくつかの異なる解像度でレンダリングしたい場合もあります。ズーミング中に遅延がないように、事前に異なるサイズのUIImageを生成してください。

+0

Tnxスロースクロールの問題を解決しました。残念ながら、画像のサイズ変更は画質に影響します。 – Tirex

+0

スレッショルドを超えてズームしたら、フル解像度の画像をスワップすることが考えられます。実際には画質の違いに気づくべきではありません。投稿したいのであれば、コードを見てうれしいです。 –

関連する問題