1. 程式人生 > >iOS給控制元件的指定位置設定圓角

iOS給控制元件的指定位置設定圓角

在我們日常開發中,給一些控制元件設定圓角一般都是給四個角都設定圓角如下所示:

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 };

從名字很容易看出來代表的意思,使用“|”來組合就好了。