原文网址:iOS UIView设置圆角 – 鸿鹄当高远 – 博客园 (cnblogs.com)

UIView设置圆角

1、比较简单的情况,UIView四个角都是圆角:

UIView *aView = [[UIView alloc] init];
    
    aView.frame = CGRectMake(0, 0, 300, 200);
    aView.backgroundColor = [UIColor redColor];
    
    //设置圆角边框
    
    aView.layer.cornerRadius = 8;
    
    aView.layer.masksToBounds = YES;
    
    //设置边框及边框颜色
    
    aView.layer.borderWidth = 8;
    
    aView.layer.borderColor =[ [UIColor grayColor] CGColor];
    
    [self.view addSubview:aView];

2、设置四个角中的某个或者某几个为圆角

复制代码
    UIView *aView = [[UIView alloc] init];
    
    aView.frame = CGRectMake(0, 0, 300, 200);
    aView.backgroundColor = [UIColor redColor];
    
    [self.view addSubview:aView];
    
    //设置所需的圆角位置以及大小
    UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:aView.bounds byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(10, 10)];
    CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
    maskLayer.frame = aView.bounds;
    maskLayer.path = maskPath.CGPath;
    aView.layer.mask = maskLayer;
复制代码

 

其中,UIRectCornerBottomLeft,UIRectCornerBottomRight是可以选择的角。

 

复制代码
typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
    UIRectCornerTopLeft     = 1 << 0,
    UIRectCornerTopRight    = 1 << 1,
    UIRectCornerBottomLeft  = 1 << 2,
    UIRectCornerBottomRight = 1 << 3,
    UIRectCornerAllCorners  = ~0UL
};
复制代码

上面的枚举是可以供选择的角,分别是:“左上角”、“右上角”、“左下角”、“右下角”。