1.四个角都切
self.picImage.layer.cornerRadius = 8;
self.picImage.layer.masksToBounds = YES;
2.切1~4个角
代码示例(切的左下,和右下)
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.tipLabel.bounds byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(5, 5)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = _tipLabel.bounds;
maskLayer.path = maskPath.CGPath;
self.tipLabel.layer.mask = maskLayer;
类型共有以下几种:
UIRectCornerTopLeft
UIRectCornerTopRight
UIRectCornerBottomLeft
UIRectCornerBottomRight
UIRectCornerAllCorners
3.视图加阴影
- 阴影的颜色
imgView.layer.shadowColor = [UIColor blackColor].CGColor; - 阴影的透明度
imgView.layer.shadowOpacity = 0.8f; - 阴影的圆角
imgView.layer.shadowRadius = 4.f; - 阴影偏移量
imgView.layer.shadowOffset = CGSizeMake(5,5);
imgView.layer.shadowOffset = CGSizeMake(0,0);
4.圆角和阴影共存
圆角和阴影无法在一个layer上共存,所以需要思路是再创建一个layer层,实现阴影,放到视图下边,具体实现:
//圆角
imgView.layer.masksToBounds = YES;
imgView.layer.cornerRadius = 10;
// 阴影
CALayer *subLayer=[CALayer layer];
CGRect fixframe = imgView.frame;
subLayer.frame= fixframe;
subLayer.cornerRadius=8;
subLayer.backgroundColor=[[UIColor blackColor] colorWithAlphaComponent:0.8].CGColor;
subLayer.masksToBounds=NO;
subLayer.shadowColor = [UIColor blackColor].CGColor;//shadowColor阴影颜色
subLayer.shadowOffset = CGSizeMake(3,2);//shadowOffset阴影偏移,x向右偏移3,y向下偏移2,默认(0, -3),这个跟shadowRadius配合使用
subLayer.shadowOpacity = 0.8;//阴影透明度,默认0
subLayer.shadowRadius = 4;//阴影半径,默认3
[self.view.layer insertSublayer:subLayer below:imgView.layer];
转载请注明出处,万分感谢!