【转】iOS UIView设置圆角
原文网址: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 };
上面的枚举是可以供选择的角,分别是:“左上角”、“右上角”、“左下角”、“右下角”。