0

私のアプリには、比較的高価な画面の再描画があります。元の形式では、UIScrollview の最小ズームを 100% に設定し、最大ズームを 400% のスケーリングに設定し、scrollViewDidEndZooming で画面を再描画しました。

私たちのテスターは、ユーザーが最小ズーム レベルまたは最大ズーム レベルを超えてピンチし続けると、コストのかかる再描画がバックグラウンドで発生しているため、画面がまだ点滅するというバグを書き留めました。

スケーリングが実際に変更されたかどうかを (scrollViewDidEndZooming で) チェックすることでこれを修正しようとし、変更された場合にのみコンテンツの更新を行いました。

ただし、これにより新しい問題が発生しました。ユーザーが (たとえば) 100% で開始し、1 つのジェスチャで 400% までピンチし、その後 100% に戻ると、コンテンツが少しぼやけてしまいます。これは、私の最適化では、スケーリングが 100% で開始および終了したため、「変更されていない」と見なされるためです。しかし実際には、ビューが拡大縮小されるため、ぼやけが生じます。

通常、ビューがこれらの遷移スケーリングを通過したときにフラグなどを設定するだけですが、 UIScrollView はそのようなフックを提供していないように見えます-スクロールを開始および終了するためのフックのみです。

私がやろうとしていることを達成する方法はありますか?自分のジェスチャ認識エンジンをロールアップし、UIScrollview のものを放棄する以外に、やり過ぎに思える方法はありますか?

編集:他の人がこれに遭遇していないことに驚いています(または、少なくとも対処方法について応答していません)。比較的高価な再描画を行うアプリは、「前」の動作または「後」の動作のいずれかに遭遇するようですが、どちらも高価な再描画の状況では理想的ではありません。考え?

4

1 に答える 1

0

UIScrollViewバウンスを無効にすると、問題が解決しますか?または、この動作はアプリに影響しますか?

于 2012-07-05T20:20:03.337 に答える