如何在iPhone的视图中的两个水龙头点之间自动绘制线条

我们如何在用户点击两个不同的点后自动绘制一条线。 这条线应该join这两个不同的点。

应该使用什么样的框架和方法。

谢谢

您可以使用touchedEnded方法( 文档 )将触摸的位置存储在两个不同的CGPoint

然后,当你有两个点时,你可以添加一个新的UIView作为子视图,它知道两个CGPoint ,并将在其drawRect方法中绘制一条线。 或者在当前视图中调用[view setNeedsDisplay]触发自己的drawRect方法。


如果你不知道如何绘制一个CoreGraphics简单的线,这里是开始:

 - (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSaveGState(context); CGContextSetStrokeColorWithColor(context, [[UIColor blackColor]CGColor]); CGContextSetLineWidth(context, 1.0); CGContextMoveToPoint(context, startPoint.x, startPoint.y); CGContextAddLineToPoint(context, endPoint.x, endPoint.y); CGContextStrokePath(context); CGContextRestoreGState(context); } 

你应该为此使用UIBezierPath。 它可以绘制线条曲线,如果你给点正式文件在这里

在这里检查