//划虚线 ............
-(void)drawPic
{
UIImageView *imageView1 = [[UIImageView alloc]initWithFrame:CGRectMake(0, 100, 320, 20)];
imageView1.backgroundColor=[UIColor cyanColor];
[self.view addSubview:imageView1];
UIGraphicsBeginImageContext(imageView1.frame.size); //开始画线
[imageView1.image drawInRect:CGRectMake(0, 0, imageView1.frame.size.width, imageView1.frame.size.height)];//按照imageView1的坐标划线
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound); //设置线条终点形状
CGFloat lengths[] = {10,10};//设置虚线的长度和间距
CGContextRef line = UIGraphicsGetCurrentContext();//初始化画笔
CGContextSetStrokeColorWithColor(line, [UIColor redColor].CGColor);//画笔的颜色
//CGContextSetLineDash(<#CGContextRef c#>, <#CGFloat phase#>, <#const CGFloat *lengths#>, <#size_t count#>)
CGContextSetLineDash(line, 0, lengths, 2); //画虚线
//CGContextMoveToPoint(<#CGContextRef c#>, <#CGFloat x#>, <#CGFloat y#>)
CGContextMoveToPoint(line, 0.0, 20.0);//开始画线 第三个参数如果是2.0会画斜线(左上到右下),20.0刚好是imageView1的高度
//CGContextAddLineToPoint(<#CGContextRef c#>, <#CGFloat x#>, <#CGFloat y#>)
CGContextAddLineToPoint(line, 200.0, 20.0);//第二个参数是划线的长度 第三个参数如果是2.0会画斜线(左下到右上)
CGContextStrokePath(line);
imageView1.image = UIGraphicsGetImageFromCurrentImageContext();
}
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
[shapeLayer setBounds:self.view.bounds];
[shapeLayer setPosition:self.view.center];
[shapeLayer setFillColor:[[UIColor clearColor] CGColor]];
[shapeLayer setStrokeColor:[[UIColor blackColor] CGColor]];
[shapeLayer setLineWidth:3.0f];
[shapeLayer setLineJoin:kCALineJoinRound];
[shapeLayer setLineDashPattern:
[NSArray arrayWithObjects:[NSNumber numberWithInt:10],
[NSNumber numberWithInt:5],nil]];
// Setup the path
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, 30, 30);
CGPathAddLineToPoint(path, NULL, 330,30);
[shapeLayer setPath:path];
CGPathRelease(path);
[[self.view layer] addSublayer:shapeLayer];