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