長方形を描く関数があります。drawRect 内で呼び出された場合、イメージは完全に描画されます。関数を直接呼び出すと、四角形が描画されません。setNeedsDisplay
検索したところ、はいする必要があることがわかりました。しかし、それでもうまくいきません。
2 に答える
2
システムがメソッドを呼び出したときにのみ、ウィンドウに描画できますdrawRect:
。直接呼び出してはいけません。システムは、呼び出す前にグラフィックス コンテキストをアクティブ化し、drawRect:
呼び出しの前後にさまざまなハウスキーピング機能を実行します。
ウィンドウ全体の再描画を明示的に要求するには、次のように呼び出します。
[view setNeedsDisplay:YES];
これによりdrawRect:
、次のイベント ループでメソッドが呼び出されます。
ドキュメントには、これらすべてが詳細に記載されています。
于 2013-09-09T12:58:05.737 に答える