平常view的圓角可以通過以下設置,4個角都生效
view.layer.cornerRadius = 20;
view.layer.masksToBounds = YES;
如果需要指定一個角為圓角
- byRoundingCorners 指定某個角為圓弧角
有如下參數
typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
UIRectCornerTopLeft = 1 << 0,
UIRectCornerTopRight = 1 << 1,
UIRectCornerBottomLeft = 1 << 2,
UIRectCornerBottomRight = 1 << 3,
UIRectCornerAllCorners = ~0UL
}; - cornerRadii : 為圓角的半徑
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, 100, 30) byRoundingCorners:UIRectCornerTopLeft | UIRectCornerBottomLeft cornerRadii:CGSizeMake(15, 15)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = CGRectMake(0, 0, 100, 30);
maskLayer.path = maskPath.CGPath;
button.layer.mask = maskLayer;
如圖。指定左邊上下2個角為圓形
1.png