iOS 切圆角 任意几个角

使用frame布局,是完全没问题的,如果想用masonry,就需要让约束布局生效,让视图先渲染出来就可以了,一般做法是使用这个切圆角方法前,调一下父类的[superView setNeedsLayout] 和[superView layoutIfNeeded];

1.如果是切四个角的圆角,代码示例:

self.picImage.layer.cornerRadius = 8;

self.picImage.layer.masksToBounds = YES;

2.如果是四个角中的某几个角,一个,两个,或者3个,代码示例(切的左下,和右下):

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

更新:一般都是通过生成UIView的类别的方式来复用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容