项目中经常会遇到设置一个view两个圆角的问题,代码如下:
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:_bgView.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(13, 13)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = _bgView.bounds;
maskLayer.path = maskPath.CGPath;
_bgView.layer.mask = maskLayer;
代码中是给_bgVIew设置上面的两个角为13的圆角,_bgVIew背景颜色是白色的
当你设置完这个之后,在次修改_bgView的时候,就会出现问题,比如去加大_bgview的高度,那么就会出现如图所示的问题:
正常情况:
1547717699320.jpg
修改_bgView高度之后,出现异常情况:
WX20190117-173633@2x.png
如图所示,设置两个圆角之后,在修改_bgView的高度就会出现,显示错误,蓝色区域
解决办法:
修改_bgVIew高度之后,在重新给_bgView设置一次两个圆角
网友评论