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

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

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

你可能感兴趣的:(给控件的指定位置设置圆角)