iPhone之为UIView设置阴影(CALayer的shadowColor,shadowOffset,shadowOpacity,shadowRadius,shadowPath属性)
效果图:
以下代码实现:
第一个图片的代码
//加阴影--任海丽编辑 _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;
ok!