17.8. Drawing Rectangles
Problem
You want to be able to draw rectangles on a graphics context.
Solution
Use the CGPathAddRect
to add a
rectangle to a path and then draw that path on a graphics
context.
Discussion
As we learned in Recipe 17.7, you can
construct and use paths quite easily. One of the procedures that you can
use on paths in Core Graphics is CGPathAddRect
, which lets you draw rectangles
as part of paths. Here is an example:
-
(
void
)
drawRect:
(
CGRect
)
rect
{
/* Create the path first. Just the path handle. */
CGMutablePathRef
path
=
CGPathCreateMutable
();
/* Here are the rectangle boundaries */
CGRect
rectangle
=
CGRectMake
(
10.0f
,
10.0f
,
200.0f
,
300.0f
);
/* Add the rectangle to the path */
CGPathAddRect
(
path
,
NULL
,
rectangle
);
/* Get the handle to the current context */
CGContextRef
currentContext
=
UIGraphicsGetCurrentContext
();
/* Add the path to the context */
CGContextAddPath
(
currentContext
,
path
);
/* Set the fill color to cornflower blue */
[[
UIColor
colorWithRed:
0.20f
green:
0.60f
blue:
0.80f
alpha:
1.0f
]
setFill
];
/* Set the stroke color to brown */
[[
UIColor
brownColor
]
setStroke
];
/* Set the line width (for the stroke) to 5 */
CGContextSetLineWidth
(
currentContext
,
5.0f
);
/* Stroke and fill the path on the context */
CGContextDrawPath
(
currentContext
,
kCGPathFillStroke
);
/* Dispose of the path */
CGPathRelease
(
path
);
}
Here, we are drawing a rectangle on the path, filling it with cornflower blue, and stroking the edges of the rectangle with brown. Figure 17-27 shows how the ...
Get iOS 6 Programming Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.