Я хочу создать простой инструмент для рисования.Цель состоит в том, чтобы нарисовать линию, которая следует за акселерометром iPhone и iPad, поэтому, если пользователь наклонит устройство, линия будет проведена в направлении перемещения устройства.
Я могу зарегистрировать ускорение ирисование линий.Моя проблема в том, что как только я рисую линию, старая исчезает.Одним из возможных решений было бы сохранение в уже отрисованных точках, а затем перерисовывание всего, но я думаю, что есть лучшие решения?
Вся помощь приветствуется!
Мой drawRect в данный моменткак это:
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 20.0);
CGContextSetStrokeColorWithColor(context, [UIColor yellowColor].CGColor);
CGContextMoveToPoint(context, fromPoint.x, fromPoint.y);
CGContextAddLineToPoint(context, toPoint.x, toPoint.y);
CGContextStrokePath(context);
}
За обновление отвечает другой метод.Этот метод также вызывается из контроллера uiview с определенными интервалами.Прямо сейчас он показывает «след» (или как я должен его назвать) в направлении, в котором было перемещено устройство.Не совсем то, что я ищу:
- (void)drawNewLine:(CGPoint)to {
// calculate trail behind current point
float pointDifferenceX = ((toPoint.x - to.x) * 9);
float pointDifferenceY = ((toPoint.y - to.y) * 9);
fromPoint = CGPointMake(toPoint.x + pointDifferenceX, toPoint.y + pointDifferenceY);
toPoint = to;
[self setNeedsDisplay];
}