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;
//若是虛線則設(shè)置間隔
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;//陰影透明度面睛,默認(rèn)0明度,默認(rèn)0
//光柵化(會(huì)導(dǎo)致視圖不清晰)尊搬,我用的不多
self.btmBackView.layer.shouldRasterize = YES;
//設(shè)置陰影圖形叁鉴,減少離屏渲染時(shí)間(性能主要提升點(diǎn))
UIBezierPath *path = [UIBezierPath bezierPathWithRect:backView.bounds];
self.backView.layer.shadowPath = path.CGPath;
self.backView.layer.opaque = YES; //當(dāng)前UIView是否不透明
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者