Демонстрационный код: http://www.eng.utah.edu/~cs4962/programming.html
В решении для выбора цвета.(В верхней части)
+ (void) addRoundedRect:(CGRect)rect radiusPercent:(float)radiusPercent
{
CGContextRef context = UIGraphicsGetCurrentContext();</p>
<code>CGFloat radius = fminf(rect.size.width, rect.size.height) * radiusPercent;
CGFloat minX = CGRectGetMinX(rect);
CGFloat midX = CGRectGetMidX(rect);
CGFloat maxX = CGRectGetMaxX(rect);
CGFloat minY = CGRectGetMinY(rect);
CGFloat midY = CGRectGetMidY(rect);
CGFloat maxY = CGRectGetMaxY(rect);
CGContextMoveToPoint(context, minX, midY);
CGContextAddArcToPoint(context, minX, minY, midX, minY, radius);
CGContextAddArcToPoint(context, maxX, minY, maxX, midY, radius);
CGContextAddArcToPoint(context, maxX, maxY, midX, maxY, radius);
CGContextAddArcToPoint(context, minX, maxY, minX, midY, radius);
CGContextClosePath(context);
}