2

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

应该使用什么框架和方法来做到这一点。

谢谢

4

2 回答 2

5

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

然后,当你有你的两个点时,你可以添加一个新的 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); 
}
于 2012-06-15T15:03:37.940 回答
0

您应该为此使用 UIBezierPath。如果你给点官方文档在 这里,它可以绘制直线曲线

也检查这里

于 2012-06-15T11:54:12.240 回答