iOSでペイントアプリケーションを作成しています。ここでロジックの概要を簡単に説明します。
1.ビットマップ
を初期化します。2.touchBeganまたはtouchMovedイベントが検出されるたびに、ビットマップ上のその位置に塗りつぶされたCGRectを描画し、ビットマップを画面に描画します。
少しの問題を除いて完全に動作します。シミュレーターでマウスを非常に速く動かすと、連続したストロークが得られません。その単なる一連の切断されたCGRects。iOSではタッチイベントが16ミリ秒ごとにのみ発生することを示した調査を行いましたが、マウスをそれほど速く動かしているとは思いません。それで、シミュレーターまたは私のコードの問題はありますか?
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint touchPoint=[touch locationInView:self];
CGContextFillRect (currentBitmap, CGRectMake (touchPoint.x -8 , touchPoint.y - 8 , rectangularBrushSize, rectangularBrushSize ));
[self setNeedsDisplay]; //draw currentBitmap to screen
}
touchesMovedのコードは同じです。draw rectメソッドは、currentBitmapを画面に描画します。中速でマウスを動かしたときに完全に機能することをもう一度追加したいと思います。