在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();
}
上一篇下一篇

猜你喜欢

热点阅读