我从一条直线开始,如下图所示。
我需要用户能够用他们的手指实时拖动和操纵这条线。所以他们最终会得到一系列或曲线如下:
使用一条曲线很简单,如下面的代码所示。
- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
controlPoint = [[touches anyObject] locationInView:self];
CGRect controlRect = CGRectMake(controlPoint.x - 50.0, controlPoint.y - 50.0, 100.0, 100.0);
[self setNeedsDisplayInRect:controlRect];
}
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor);
CGContextSetLineWidth(context, 1.0);
CGContextMoveToPoint(context, 0 , screenHeight/2 + gapDistance);
CGContextAddQuadCurveToPoint(context, controlPoint.x + gapDistance, controlPoint.y + gapDistance, 100, screenHeight/2 + gapDistance);
CGContextStrokePath(context);
}
我的问题是,如何使用多条曲线?如果用户需要,我还需要能够为现有曲线添加更小的曲线。