В моем проекте мне нужно нарисовать пару сотен прямоугольников, используя Quartz painting.У меня есть такой код
-(void)RenderRectangles:(NSArray*)rectangles
fillColor:(UIColor*)fillColor
strokeColor:(UIColor*)strokeColor
strokeThickness:(float)strokeThickness;
{
CGContextRef context = UIGraphicsGetCurrentContext();
UIGraphicsPushContext(context);
CGContextSetStrokeColorWithColor(context, [strokeColor CGColor]);
CGContextSetLineWidth(context, strokeThickness);
for (NSValue *vRect in rectangles) {
CGContextAddRect(context, [vRect CGRectValue]);
}
CGContextStrokePath(context);
CGContextSetFillColorWithColor(context, [fillColor CGColor]);
for (NSValue *vRect in rectangles) {
CGContextFillRect(context, [vRect CGRectValue]);
}
UIGraphicsPopContext();
}
Он работает нормально, но мне просто интересно, возможно ли сделать это, используя только один цикл?Или есть лучший способ обвести и заполнить коллекцию прямоугольников?
Thx