0

点、線、円、およびベジェパスを描画する標準的な方法は、それらをの内部に描画することであるようですdrawRect。直接電話をかけるdrawRectのではなく、iOSに電話をかけてもらうだけで、iOSに電話をかけるよう[self setNeedsDisplay]に指示drawRectできます...

また、頼りにできないようです

[self setClearsContextBeforeDrawing: NO];

を呼び出す前にビューの背景をクリアしないようにしますdrawRect。この質問にはいくつかの詳細があります:UIView:非破壊描画を行う方法は?

これらのコードをに入れずに、画面に直接描画するのはどうですかdrawRect。たとえば、にはViewController.m、画面に点、線、円を直接描画するコードがあります。それは可能ですか?

4

1 に答える 1

1

OpenGLにドロップする必要なしに、消去を回避するためにできる最も近い方法は、CGBitmapContextCreateImageのようなものを使用してコンテキストを画像として変換することです。そこから、画像をメモリに保持(または必要に応じてディスクに書き込む)できます。次に、ビューを再描画するときに、最初にこの元の画像をコンテキストに描画してから、新しいコンテンツでオーバーレイします。

于 2012-04-24T04:17:18.977 に答える