一半是方 一半是圆 (iOS Layer指定圆角处理)
项目中经常用到图片做圆角处理,最常见的就是头像 圆角处理,想必这个大家都不陌生。只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架)。而若要指定某几个角为圆角而别的不变时,这种方法就不好用了。下面是提供的一种最直观简便的方案。
//绘制 UIView
UIView *cornerView = [[UIView alloc] initWithFrame:CGRectMake(120,100,80,80)];
cornerView.backgroundColor= [UIColor redColor];
[self.view addSubview:cornerView];
//具体绘制要求 参数分别是: 绘制路径 处理圆角 处理大小
UIBezierPath *maskPath= [UIBezierPath bezierPathWithRoundedRect:cornerView.bounds
byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight
cornerRadii:CGSizeMake(20,20)];
//创建CALayer图层
CAShapeLayer*maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = cornerView.bounds;
maskLayer.path = maskPath.CGPath;
cornerView.layer.mask = maskLayer;
//显而易见 处理圆角的参数 还可以自由组合 用 | 隔开处理
* UIRectCornerTopLeft
* UIRectCornerTopRight
* UIRectCornerBottomLeft
* UIRectCornerBottomRight
* UIRectCornerAllCorners