« Older: Move UIButton with CALayer « Older
Newer: iOS: Touching the Screen »Newer »
What 'AddArcToPoint' Does
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 AddArcToPoint
:
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
is called, 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 arc.
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
x2, y2
:
Then you draw a circle with the given radius, and move it so that it just touches each of the lines:
I1
and I2
are the points where the circle touches the lines.
addArcToPoint
will make a path from the current point P0
to I1
, it will then follow the arc of the circle around
to 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: