Я новичок в iOS и объективе c, и я разрабатываю приложение, и я хочу рисовать непрерывно изогнутые линии, как показано на рисунке ниже. Вот мой код, но это сделать только одного staright линия ..Как рисовать изогнутые линии непрерывно в основной графике ios
- (void)drawRect:(CGRect)rect{
CGContextRef context = UIGraphicsGetCurrentContext();
// set the line properties
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineWidth(context, 30);
CGContextSetAlpha(context, 0.6);
// draw the line
CGContextMoveToPoint(context, startPoint.x, startPoint.y);
CGContextAddLineToPoint(context, endPoint.x, endPoint.y);
CGContextStrokePath(context);
}
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
CGPoint current = [touch locationInView:self];
startPoint=current;
arrPoints=[[NSMutableArray alloc]init];
[arrPoints addObject:NSStringFromCGPoint(startPoint)];
}
-(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
CGPoint p = [touch locationInView:self];
endPoint=p;
[arrPoints addObject:NSStringFromCGPoint(endPoint)];
[self setNeedsDisplay];
}
-(void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
[self touchesMoved:touches withEvent:event];
}
здесь есть образ того, что я хочу достичь, предполагают, есть пять вид и я хочу рисовать продолжает линию, начиная с первый взгляд на второй, третий и т.д. ... и в то же время я хочу, чтобы нарисовать кривую на каждый вид линии ..
Что я хочу достичь, так это предположение, что есть пять видов, и я начал рисовать с одного вида и перемещать линию на другой вид на втором экране. Я хочу нарисовать кривую, в каком направлении движется палец. – IMakk
Основываясь на вашем описании, техника сглаживания, изложенная в Эрика Садун «Кулинарная книга разработчика Core iOS» в рецепте «Сглаживание рисунков» - это именно то, что вы хотите. Он использует технологию, называемую сплайнами Catmull-Rom, чтобы создать плавную кривую из точек чертежа пользователя пальцем. Я предлагаю купить эту книгу. Он наполнен драгоценными камнями, как этот, и этот «рецепт» стоит книги, поскольку он делает именно то, что вы хотите. –
Спасибо за ваш ответ. – IMakk