2

iOS では、実行ループと表示更新の間に関係はありますか? もしそうなら、どのように?

4

2 に答える 2

1

Apple のiOS 向けビュー プログラミング ガイド/ ビューとウィンドウ アーキテクチャ / ビュー アーキテクチャの基礎 / ビュー描画サイクルには次のように書かれています。

ビューの内容が変更された場合、それらの変更を直接再描画しません。代わりに、setNeedsDisplayまたはsetNeedsDisplayInRect:メソッドを使用してビューを無効にします。これらのメソッドは、ビューの内容が変更され、次の機会に再描画する必要があることをシステムに伝えます。システムは、描画操作を開始する前に、現在の実行ループが終了するまで待機します。この遅延により、複数のビューの無効化、階層からのビューの追加または削除、ビューの非表示、ビューのサイズ変更、およびビューの再配置を一度に行うことができます。行った変更はすべて同時に反映されます。

(強調を追加しました。)

于 2013-02-22T02:45:30.557 に答える
1

Apple は、現在の CATransaction がコミットされ、描画が行われ、アニメーションが開始されるときに、各実行ループの最後に何が起こるかを詳細に説明する非常に優れた WWDC 2012 ビデオを持っています。また、私の本の「再描画の瞬間」の技術的でない説明を読んで楽しむこともできます。

http://www.apeth.com/iOSBook/ch17.html#_drawing_animation_and_threading

于 2013-02-22T02:50:44.487 に答える