在我们日常开发中,给一些控件设置圆角一般都是给四个角都设置圆角如下所示:
searchBtn.layer.cornerRadius = 5.0f; //设置圆角的弧度
searchBtn.layer.masksToBounds = YES;
当然在我们日常中可能有些需求只需要指定的部分是圆角而不需要都是圆角的,通过查找资料找到如下方法,亲测可用
UIBezierPath *fieldPath = [UIBezierPath bezierPathWithRoundedRect:_searchText.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerBottomLeft cornerRadii:CGSizeMake(5 , 5)];
CAShapeLayer *fieldLayer = [[CAShapeLayer alloc] init];
fieldLayer.frame = _searchText.bounds;
fieldLayer.path = fieldPath.CGPath;
_searchText.layer.mask = fieldLayer;
指定了需要成为圆角的角。该参数是UIRectCorner类型的,可选的值有:
typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
UIRectCornerTopLeft = 1 << 0,
UIRectCornerTopRight = 1 << 1,
UIRectCornerBottomLeft = 1 << 2,
UIRectCornerBottomRight = 1 << 3,
UIRectCornerAllCorners = ~0UL
};
从名字很容易看出来代表的意思,使用“|”来组合就好了。
---------------------
作者:Tan_Trace
来源:CSDN
原文:https://blog.csdn.net/chuming0311/article/details/53503048
版权声明:本文为博主原创文章,转载请附上博文链接!