虚线边框的实现

1.创建类继承UIImage;

2.创建绘制虚线的方法实现:

+ (id)imageWithSize:(CGSize)size borderColor:(UIColor *)color borderWidth:(CGFloat)borderWidth
{
    //开启图片上下文
    UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);
    //设置颜色
    [[UIColor clearColor] set];
    //取得当前上下文
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextBeginPath(context);
    //设置属性
    CGContextSetLineWidth(context, borderWidth);
    CGContextSetStrokeColorWithColor(context, color.CGColor);
    CGFloat lengths[] = { 3, 1 };
    CGContextSetLineDash(context, 0, lengths, 1);
    CGContextMoveToPoint(context, 0.0, 0.0);
    CGContextAddLineToPoint(context, size.width, 0.0);
    CGContextAddLineToPoint(context, size.width, size.height);
    CGContextAddLineToPoint(context, 0, size.height);
    CGContextAddLineToPoint(context, 0.0, 0.0);
    //绘制
    CGContextStrokePath(context);
    //取得绘制的图片的上下文
    UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
    //关闭图片上下文
    UIGraphicsEndImageContext();
    
    return image;
}

3.外部调用.  记住 :要用类方法调用(好粗心.....一开始做居然没用类方法调用,导致一直卡在方法不能调的情况....)

- (void)viewDidLoad {
    [super viewDidLoad];
   
    //实现虚线边框  类方法调用
    
    UIImage *img = [CreatImage imageWithSize:CGSizeMake(200, 200) borderColor:[UIColor redColor] borderWidth:3];
    
    UIImageView *img1 = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
    [img1 setImage:img];
    [self.view addSubview:img1];
    
}

我也是根据别人的博客练习来做的,学习学习..呵呵.....

原文地址:https://www.cnblogs.com/pengsi/p/4844599.html