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*10);
CGContextAddLineToPoint(context, self.xShift+15+self.rectLen*self.width+self.rectLen*(i+1), self.yShift+self.rectLen*10+self.rectLen);
CGContextAddLineToPoint(context, self.xShift+15+self.rectLen*self.width+self.rectLen*i, self.yShift+self.rectLen*10+self.rectLen);
CGContextAddLineToPoint(context, self.xShift+15+self.rectLen*self.width+self.rectLen*i, self.yShift+self.rectLen*10);
CGContextMoveToPoint(context, self.xShift+15+self.rectLen*self.width+self.rectLen*i, self.yShift+self.rectLen*10);
}
CGContextAddLineToPoint(context, self.xShift+15+self.rectLen*self.width+self.rectLen*4, self.yShift+self.rectLen*10);
CGContextAddLineToPoint(context, self.xShift+15+self.rectLen*self.width+self.rectLen*4, self.yShift+self.rectLen*10+self.rectLen);
CGContextAddLineToPoint(context, self.xShift+15+self.rectLen*self.width+self.rectLen*3, self.yShift+self.rectLen*10+self.rectLen);
CGContextAddLineToPoint(context, self.xShift+15+self.rectLen*self.width+self.rectLen*3, self.yShift+self.rectLen*10);
[[UIColor cyanColor] setFill];
[[UIColor blackColor] setStroke];
CGContextSetLineWidth(context, 1);
CGContextDrawPath(context, kCGPathStroke);
Line with setFill method doesn’t work. What might be the problem of this? Code is located in drawRect: method
setFill isn’t for Core Graphics drawing but for drawing like [myUIBezierPath fill];
Instead set the fill color and stroke color using:
Also, the following line:
Will only stroke the path, since the drawing mode is set to kCGPathStoke. To fill it as well you should replace it with
If your path has holes in it or crosses itself you should use even-odd fill and stroke