0

我想为我的应用程序创建一个工具,它首先绘制直线,第二次触摸和移动用户可以创建一条可调节的曲线。所以这个想法是在用户第二次触摸和移动时设置曲线的中点。

而且我不知道如何检查第二次触摸并使用以前的路径。

我用这个方法画简单的线

谢谢!

- (void)setInitialPoint:(CGPoint)firstPoint
{
self.firstPoint  = firstPoint;
//[self moveToPoint:firstPoint]; //add yourStartPoint here
///[self addLineToPoint:endPoint];
}

- (void)moveFromPoint:(CGPoint)startPoint toPoint:(CGPoint)endPoint
{
self.lastPoint = endPoint;

   //  [self addLineToPoint:self.lastPoint];// add yourEndPoint here

}

- (void)draw { 
   UIBezierPath *path = [UIBezierPath bezierPath];
//draw a line

[path  moveToPoint:self.firstPoint]; //add yourStartPoint here
[path addLineToPoint:self.lastPoint];// add yourEndPoint here

[self.lineColor setStroke];

[path setLineWidth:3.0];

 [path stroke];
}
4

2 回答 2

3

第二次触摸 - 按住一个变量来跟踪你的状态。

曲线 - 不要试图改变路径,只需使用第一行的开始和结束,并UIBezierPath在用户移动触摸点时创建一个来绘制。将贝塞尔曲线移动到起点,然后使用addCurveToPoint:controlPoint1:controlPoint2:终点和当前触摸位置。

为了让它真正有趣,允许用户在绘制第二条线时用两根手指触摸,然后你就可以得到两个控制点的值。

于 2013-06-03T20:57:49.493 回答
0

如果你只需要摆弄线的中点,学习二次曲线对你来说很简单,因为它只有一个控制点而不是两个。首先仔细观察曲线的性质并根据你的选择(二次或贝塞尔)调整控制点1,cp2(如果有),起点和终点以下链接将帮助您以非常简单的方式了解贝塞尔曲线的性质 链接

于 2013-06-04T20:22:55.333 回答