给控件的指定位置设置圆角

在我们日常开发中,给一些控件设置圆角一般都是给四个角都设置圆角如下所示:

searchBtn.layer.cornerRadius=5.0f;    //设置圆角的弧度

searchBtn.layer.masksToBounds= YES;

当然在我们日常中可能有些需求只需要指定的部分是圆角而不需要都是圆角的,通过查找资料找到如下方法,亲测可用

UIBezierPath *fieldPath = [UIBezierPath bezierPathWithRoundedRect:_searchText.boundsbyRoundingCorners: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

};

出自:http://blog.csdn.net/chuming0311/article/details/53503048

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

推荐阅读更多精彩内容