iOS UIView设置圆角

Posted 张玉宝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS UIView设置圆角相关的知识,希望对你有一定的参考价值。

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
};
技术分享

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

 

以上是关于iOS UIView设置圆角的主要内容,如果未能解决你的问题,请参考以下文章

UIView有圆角和投影?

iOS切圆角方法解决离屏渲染问题

iOS - 指定视图的圆角个数-b

如何为 UIView 添加圆角半径

iOS中设置圆角的方式

iOS给UIImageView添加圆角的三种方法