首页 > 代码库 > 设置view的圆角和阴影

设置view的圆角和阴影

1.设置view圆角

self.backView.clipsToBounds = YES;
self.backView.layer.cornerRadius = 6.f;

2.设置view阴影

    self.backView.layer.shadowColor = [UIColor blackColor].CGColor;//shadowColor阴影颜色
    self.backView.layer.shadowOffset = CGSizeMake(6,6);//shadowOffset阴影偏移,x向右偏移4,y向下偏移4,默认(0, -3),这个跟shadowRadius配合使用
    self.backView.layer.shadowOpacity = 0.5;//阴影透明度,默认0
    self.backView.layer.shadowRadius = 4;//阴影半径,默认3

  通过上面的方式设置阴影,必须把clipsToBounds关闭.

3.同时设置view的圆角和阴影

  如果上面的方法一起用,把masksToBounds开了,阴影无法显示,关了的话其上的View又会遮住圆角。解决的方式只能是再加一层layer。

    self.backView.backgroundColor = [UIColor whiteColor];
    self.backView.clipsToBounds = YES;
    self.backView.layer.cornerRadius = 6.f;
    //阴影效果
    CALayer *subLayer=[CALayer layer];
    CGRect fixframe=self.backView.layer.frame;
    fixframe.size.width=[UIScreen mainScreen].bounds.size.width-40;
    subLayer.frame=fixframe;
    subLayer.cornerRadius=6.f;
    subLayer.masksToBounds=NO;
    subLayer.shadowColor=[UIColor blackColor].CGColor;
    subLayer.shadowOffset=CGSizeMake(4,4);
    subLayer.shadowOpacity=0.8f;
    subLayer.shadowRadius=6.f;
    [self.backView.layer insertSublayer:subLayer below:self.backView.layer];

 

设置view的圆角和阴影