在ImageView上画虚线
2017-07-14 本文已影响0人
赑屃王者
在- (void)viewDidLoad中定义imageView
// 虚线
UIImageView *lineImage = [[UIImageView alloc] initWithFrame:CGRectMake(10, 75, kViewWidth - 20, 0.5)];
// lineImage.backgroundColor = [UIColor redColor];
lineImage.image = [self drawLineByImageView:lineImage];
[textViewBackView addSubview:lineImage];
写方法
// 返回虚线image的方法
- (UIImage *)drawLineByImageView:(UIImageView *)imageView{
UIGraphicsBeginImageContext(imageView.frame.size); //开始画线 划线的frame
[imageView.image drawInRect:CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height)];
//设置线条终点形状
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGFloat lengths[] = {5,5};
CGContextRef line = UIGraphicsGetCurrentContext();
// 设置颜色
CGContextSetStrokeColorWithColor(line, [UIColor colorWithRed:221/255.0 green:221/255.0 blue:221/255.0 alpha:1].CGColor);
CGContextSetLineDash(line, 0, lengths, 2); //画虚线
CGContextMoveToPoint(line, 0.0, 0.0); //开始画线
CGContextAddLineToPoint(line, kViewWidth - 10, 0.0);
CGContextStrokePath(line);
// UIGraphicsGetImageFromCurrentImageContext()返回的就是image
return UIGraphicsGetImageFromCurrentImageContext();
}