問題タブ [setneedsdisplayinrect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
121 参照

ios - 複数の setneedsdisplayinrect を実行した後、drawrect で無効化された四角形を把握する

格子状に絵を描いています。一部の画像が移動するため、表示を更新する必要がありますが、明らかに、画面全体を不必要に更新したくありません。私は SetNeedsDisplayInRect を複数回使用していますが、UIKit が余分な四角形を無効にすることがあるようです (そして、他のソースから取得しています)。これらの余分なブロックを再描画しても構いませんが、どの余分なブロックが無効化されているかを知る必要があります。

私は現在、更新する必要がある四角形の配列を保持していますが、システムが余分な四角形を行うと、それらを再描画するとは思っていなかったので、空の四角形になってしまいます。

DrawRect にはパラメーターがありますが、無効な領域を囲む単一の四角形です。これらの余分な長方形を特定する方法はありますか?

0 投票する
2 に答える
656 参照

ios - 文字列を再描画するときに UIView がクリア (更新) しない

UIView に char 配列を描画しようとしています。問題は、ビューが自動的に更新されないため、文字が表示されないことです。画面のあちこちに触れると、それが表示されます (文字の一部のみが表示される場合もあります)。新しい文字セットを再描画するとき (配列が更新されるとき)、古いものもクリアされません。以前に描画された更新された配列を再描画しても UIView からクリアされませんが、同じビューに上書きして両方を表示するだけです。

これが私のコードです:

MyView クラスで。

writeDrawView クラス