美文网首页
给视图添加渐变色、圆角、阴影、线框、虚线框

给视图添加渐变色、圆角、阴影、线框、虚线框

作者: 知交 | 来源:发表于2018-09-10 12:07 被阅读22次

1.渐变色

UIColor *dcolor = [UIColor colorWithRed:255/255.0 green:140/255.0 blue:0/255.0 alpha:1];
UIColor *lcolor = [UIColor colorWithRed:148/255.0 green:0/255.0 blue:211/255.0 alpha:1];
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(10, 10, 300,50)];
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
    gradientLayer.colors = @[(__bridge id)dcolor.CGColor, (__bridge id)lcolor.CGColor];
    gradientLayer.locations = @[@0.1,@0.9,@1.0];
    gradientLayer.startPoint = CGPointMake(0, 0);
    gradientLayer.endPoint = CGPointMake(1.0, 0);
    gradientLayer.cornerRadius = 8;
    gradientLayer.frame = CGRectMake(0, 0, view.frame.size.width, view.frame.size.height) ;
    [view.layer insertSublayer:gradientLayer atIndex:0];

2.圆角和边框(虚线边框)添加

 //圆角
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:backRect cornerRadius:4];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc]init];
maskLayer.frame = backRect;

//边框
CAShapeLayer *borderLayer = [CAShapeLayer layer];
borderLayer.frame = backRect;
borderLayer.lineWidth = 1.f;
borderLayer.strokeColor = [UIColor colorWithRed:235/255.0 green:235/255.0 blue:235/255.0 alpha:1].CGColor;
borderLayer.fillColor = [UIColor clearColor].CGColor;
//若是虚线则设置间隔
borderLaye.lineDashPattern = @[@4, @2];

maskLayer.path = maskPath.CGPath;
borderLayer.path = maskPath.CGPath;
[view.layer addSublayer:borderLayer];
view.layer.mask = maskLayer;

3.阴影及(光栅化)

//阴影
_bubbleView.layer.shadowColor = [UIColor blackColor].CGColor;
_bubbleView.layer.shadowRadius = 2;
_bubbleView.layer.shadowOffset = CGSizeMake(2, 2);
_bubbleView.layer.shadowOpacity = 0.35;//阴影透明度,默认0明度,默认0
//光栅化(会导致视图不清晰),我用的不多
self.btmBackView.layer.shouldRasterize = YES;
 //设置阴影图形,减少离屏渲染时间(性能主要提升点)
UIBezierPath *path = [UIBezierPath bezierPathWithRect:backView.bounds];
self.backView.layer.shadowPath = path.CGPath;
self.backView.layer.opaque = YES; //当前UIView是否不透明

相关文章

网友评论

      本文标题:给视图添加渐变色、圆角、阴影、线框、虚线框

      本文链接:https://www.haomeiwen.com/subject/vrxsgftx.html