#pragma 画虚线
UIImageView *imageView1 = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 640)];
imageView1.backgroundColor = [UIColor redColor];
[self.view addSubview:imageView1];
UIGraphicsBeginImageContext(imageView1.frame.size); //开始画线
CGFloat lengths[] = {10,4}; //划10个点,空4个点
CGContextRef line = UIGraphicsGetCurrentContext(); //设置上下文
CGContextSetStrokeColorWithColor(line, [UIColor blackColor].CGColor);
CGContextSetLineDash(line, 0, lengths, 2); //画虚线
CGContextMoveToPoint(line, 100.0, 10.0); //开始画线,设置X,Y的起点位置
CGContextAddLineToPoint(line, 300.0,550.0); //线终点的X,Y位置
CGContextStrokePath(line); //填充
imageView1.image = UIGraphicsGetImageFromCurrentImageContext();
#pragma 画椭圆
UIImageView *imageView1 = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 640)];
[self.view addSubview:imageView1];
UIGraphicsBeginImageContext(imageView1.frame.size); //开始画线
[imageView1.image drawInRect:CGRectMake(0, 0, imageView1.frame.size.width, imageView1.frame.size.height)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound); //设置线条终点形状
CGFloat lengths[] = {10,10};
CGContextRef ellipse = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(ellipse, [UIColor redColor].CGColor);
CGContextSetLineDash(ellipse, 0, lengths, 2); //画虚线园
CGRect rectangle = CGRectMake(0,0,200,80);
CGContextAddEllipseInRect(ellipse,rectangle);
CGContextStrokePath(ellipse);
imageView1.image = UIGraphicsGetImageFromCurrentImageContext();