私はuiscrollviewでcontentviewを持っていましたが、特定のレベルでズームインまたはズームアウトすると高解像度になります。私はこの目標を持っていますが、高解像度のコンテンツを描く前にスクリーンフラッシュ(ビューの背景や一部のタイル画像でフラッシュ)を行います。スムーズな移行ではありません。私はscrollviewsuite(アップルのデモ)でタイルデモを参照しています。私がした違いは、スレッド内でコンテンツを更新することです。このスレッドでは、コンテンツをタイルuiviewで描画します(実際には、バックグラウンドスレッドでCALayerをペイントしたい)。私は次のように呼びます:コンテンツビューは更新されましたが、最初にuiscrollviewがズームされたときに画面がフラッシュされました
[self perform: @selector(refreshContent) OnThread:mythread withObject:nil waitUntilDone:YES]
私はUIメインスレッドでwaiUntilDone:YES
を使用しました。 mythreadがコンテンツを完全に再描画するのを待ちます。しかし、 私はこのような状況に陥りました:スクリーンは、(更新されていない)いくつかのタイルの内容を点滅させ、高解像度のコンテンツを取得します。
私は[self perform: @selector(refreshContent) OnThread:mythread...
呼び出しを削除した場合、「refreshContent」を直接、画面には、すぐに画面上のコンテンツのショーを更新し、点滅しない
誰か、あなたがAppleのscrollviewsuite demo.で_Tilingデモを変更することができます。スレッドを使用して、別の解像度でコンテンツを再描画します。
私が言ったことは、バックグラウンドスレッドでcalayerやuiviewのコンテンツを更新したときに、画面上にコンテンツが表示されずにすぐに表示されるということでした。