view设置两个圆角之后改变frame的问题

项目中经常会遇到设置一个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设置一次两个圆角

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容