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