I'm new to iOS, i am trying to develop a freehand drawing app, using uibezierPath.is there a way to calculate or receive the total line length, even if i drew straight line, curved or a circle.
i am using addline on the the touchmove method, and i don't have any control points.
解决方案
Inside your touchesBegan method, you can use this code
{
UITouch * touch = [touches anyObject];
CGPoint present = [touch locationInView:self];
CGPoint previous = [touch previousLocationInView:self];
CGFloat angle = [self getAngle:present :previous];
}
- (float) getAngle:(CGPoint)a :(CGPoint)b
{
int x = a.x;
int y = a.y;
float dx = b.x - x;
float dy = b.y - y;
CGFloat radians = atan2(-dx,dy); // in radians
CGFloat degrees = radians * 180 / 3.14; // in degrees
return angle;
}
You can call this method in any method to find the angle between two CGPoints in the UIView.
Hope this helped :-)