Я делаю приложение для рисования в 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 на экране. Я хотел бы еще раз добавить, что он отлично работает, когда я двигаю мышь со средней скоростью.