效果图:
以下代码实现:
第一个图片的代码
- //加阴影--任海丽编辑
- _imageView.layer.shadowColor = [UIColor blackColor].CGColor;//shadowColor阴影颜色
- _imageView.layer.shadowOffset = CGSizeMake(4,4);//shadowOffset阴影偏移,x向右偏移4,y向下偏移4,默认(0, -3),这个跟shadowRadius配合使用
- _imageView.layer.shadowOpacity = 0.8;//阴影透明度,默认0
- _imageView.layer.shadowRadius = 4;//阴影半径,默认3
//加阴影--任海丽编辑 _imageView.layer.shadowColor = [UIColor blackColor].CGColor;//shadowColor阴影颜色 _imageView.layer.shadowOffset = CGSizeMake(4,4);//shadowOffset阴影偏移,x向右偏移4,y向下偏移4,默认(0, -3),这个跟shadowRadius配合使用 _imageView.layer.shadowOpacity = 0.8;//阴影透明度,默认0 _imageView.layer.shadowRadius = 4;//阴影半径,默认3
第二个图片的代码
- _imageView1.layer.shadowColor = [UIColor yellowColor].CGColor;//shadowColor阴影颜色
- _imageView1.layer.shadowOffset = CGSizeMake(0,0);//shadowOffset阴影偏移,默认(0, -3),这个跟shadowRadius配合使用
- _imageView1.layer.shadowOpacity = 1;//阴影透明度,默认0
- _imageView1.layer.shadowRadius = 3;//阴影半径,默认3
- //路径阴影
- UIBezierPath *path = [UIBezierPath bezierPath];
- float width = _imageView1.bounds.size.width;
- float height = _imageView1.bounds.size.height;
- float x = _imageView1.bounds.origin.x;
- float y = _imageView1.bounds.origin.y;
- float addWH = 10;
- CGPoint topLeft = _imageView1.bounds.origin;
- CGPoint topMiddle = CGPointMake(x+(width/2),y-addWH);
- CGPoint topRight = CGPointMake(x+width,y);
- CGPoint rightMiddle = CGPointMake(x+width+addWH,y+(height/2));
- CGPoint bottomRight = CGPointMake(x+width,y+height);
- CGPoint bottomMiddle = CGPointMake(x+(width/2),y+height+addWH);
- CGPoint bottomLeft = CGPointMake(x,y+height);
- CGPoint leftMiddle = CGPointMake(x-addWH,y+(height/2));
- [path moveToPoint:topLeft];
- //添加四个二元曲线
- [path addQuadCurveToPoint:topRight
- controlPoint:topMiddle];
- [path addQuadCurveToPoint:bottomRight
- controlPoint:rightMiddle];
- [path addQuadCurveToPoint:bottomLeft
- controlPoint:bottomMiddle];
- [path addQuadCurveToPoint:topLeft
- controlPoint:leftMiddle];
- //设置阴影路径
- _imageView1.layer.shadowPath = path.CGPath;
_imageView1.layer.shadowColor = [UIColor yellowColor].CGColor;//shadowColor阴影颜色 _imageView1.layer.shadowOffset = CGSizeMake(0,0);//shadowOffset阴影偏移,默认(0, -3),这个跟shadowRadius配合使用 _imageView1.layer.shadowOpacity = 1;//阴影透明度,默认0 _imageView1.layer.shadowRadius = 3;//阴影半径,默认3 //路径阴影 UIBezierPath *path = [UIBezierPath bezierPath]; float width = _imageView1.bounds.size.width; float height = _imageView1.bounds.size.height; float x = _imageView1.bounds.origin.x; float y = _imageView1.bounds.origin.y; float addWH = 10; CGPoint topLeft = _imageView1.bounds.origin; CGPoint topMiddle = CGPointMake(x+(width/2),y-addWH); CGPoint topRight = CGPointMake(x+width,y); CGPoint rightMiddle = CGPointMake(x+width+addWH,y+(height/2)); CGPoint bottomRight = CGPointMake(x+width,y+height); CGPoint bottomMiddle = CGPointMake(x+(width/2),y+height+addWH); CGPoint bottomLeft = CGPointMake(x,y+height); CGPoint leftMiddle = CGPointMake(x-addWH,y+(height/2)); [path moveToPoint:topLeft]; //添加四个二元曲线 [path addQuadCurveToPoint:topRight controlPoint:topMiddle]; [path addQuadCurveToPoint:bottomRight controlPoint:rightMiddle]; [path addQuadCurveToPoint:bottomLeft controlPoint:bottomMiddle]; [path addQuadCurveToPoint:topLeft controlPoint:leftMiddle]; //设置阴影路径 _imageView1.layer.shadowPath = path.CGPath;
ok!