In this code
for (int i=0;i<3;i++) {
CGContextAddLineToPoint(context, self.xShift+15+self.rectLen*self.width+self.rectLen*(i+1), self.yShift+self.rectLen*
Not only do you need to call the appropriate CG* methods to set the fill like David suggested, you need to actually perform the fill using the following after you set the fill and stroke properties:
CGContextSetFillColorWithColor(context, [UIColor cyanColor].CGColor);
CGContextSetStrokeColorWithColor(context, [UIColor blackColor.CGColor);
CGContextFillPath(context);
CGContextStrokePath(context);