在用户点击两个不同的点后,我们如何自动绘制一条线。这条线应该连接这两个不同的点。
应该使用什么框架和方法来做到这一点。
谢谢
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);
}
您应该为此使用 UIBezierPath。如果你给点官方文档在 这里,它可以绘制直线曲线
也检查这里