有人可以建议在以下情况下使用什么方法:
用户触摸屏幕,然后将手指从此点拖开并画出一条线,但当他们上下移动手指时,线条会跟随他们的手指作为直线。
示例就像时钟的中心,分针固定在中心,用户绕着时钟拖动另一端。分针作为一条永久的直线滑动,没有擦掉它下方的细节....
希望我解释说对了吗?感谢您的一些指示
答案 0 :(得分:2)
使用此代码:
- (void)drawRect:(CGRect)rect {
UIGraphicsBeginImageContext(self.frame.size);
CGContextSetAllowsAntialiasing(UIGraphicsGetCurrentContext(), YES);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 2.0);
CGContextSetLineJoin(UIGraphicsGetCurrentContext(), kCGLineJoinMiter);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 1.0, 1.0, 1.0, 1.0);
CGContextSetRGBFillColor(UIGraphicsGetCurrentContext(), 1.0, 1.0, 1.0, 1.0);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), startPoint.x, startPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), endPoint.x,endPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
self.image = UIGraphicsGetImageFromCurrentImageContext();
[self setNeedsDisplay];
}
答案 1 :(得分:0)
只需保存拖动开始点的x / y坐标,以及手指在几毫秒后的点,然后计算方向向量
http://en.wikipedia.org/wiki/Direction_vector
使用计算公式,始终只需获取手指x或y位置,并用它来计算对应物