CGPathAddArcToPoint and CGContextAddArcToPoint can be used easily to draw shapes with rounded corners. These two methods do exactly the same thing except that CGContextAddArcToPoint works on the path currently in a CGContext rather than a CGMutablePath.
Here is the function call for
The function works like this:
The red line is the path that the function will draw.
P1 is the the point that the path is at before the function
x1, y1, x2, y2 correspond to the values passed
in by the function, and
r is the
radius value. The function
doesn’t line to the second point given, it stops at the end of
The way this is constructed is to imagine that you’ve drawn
from the current point to the point at
x1, y1 and then to
Then you draw a circle with the given radius, and move it so that it just touches each of the lines:
I2 are the points where the circle touches the lines.
addArcToPoint will make a path from the current point
I1, it will then follow the arc of the circle around
I2 and then stop (It won’t make a path to the end
point). This is shown in the initial diagram.
So you could implement a view to draw rounded triangles like this:
Here is a triangle drawn by the view above: