文章转自:https://www.jianshu.com/p/f2482a9f45c2
/**
UIView 的左上角和右上角为圆角
UIButton左上角和右上角圆角
注意:直接拷贝方法直接可以使用
CSDN:https://blog.csdn.net/shihuboke/article/details/82083432
*/
效果图:
UIView 的左上角和右上角为圆角
@property(nonatomic,strong) UIView *platFormRadiusView;
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"左上和右上为圆角";
[self platFormRadiusView];
}
-(UIView *)platFormRadiusView{
if (!_platFormRadiusView) {
_platFormRadiusView = [[UIView alloc] init];
_platFormRadiusView.backgroundColor = [UIColor redColor];
_platFormRadiusView.frame = CGRectMake(0, 100,self.view.frame.size.width , 200);
[self.view addSubview:_platFormRadiusView];
// 左上和右上为圆角
UIBezierPath *cornerRadiusPath = [UIBezierPath bezierPathWithRoundedRect:_platFormRadiusView.bounds byRoundingCorners:UIRectCornerTopRight | UIRectCornerTopLeft cornerRadii:CGSizeMake(15, 15)];
CAShapeLayer *cornerRadiusLayer = [ [CAShapeLayer alloc ] init];
cornerRadiusLayer.frame = _platFormRadiusView.bounds;
cornerRadiusLayer.path = cornerRadiusPath.CGPath; _platFormRadiusView.layer.mask = cornerRadiusLayer;
}
return _platFormRadiusView;
}
效果图:
UIButton 的左上角和右上角为圆角
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"Button左上和右上为圆角";
[self platFormRadiusButton];
}
-(void)platFormRadiusButton{
UIButton *shButton = [UIButton buttonWithType:UIButtonTypeCustom];
shButton.frame = CGRectMake(0, 100, self.view.frame.size.width, 200);
shButton.backgroundColor = [UIColor redColor];
[shButton setTitle:@"石虎测试Button" forState:0];
shButton.tag = 1;
[self.view addSubview:shButton];
//设置圆角
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:shButton.bounds byRoundingCorners:UIRectCornerTopRight | UIRectCornerTopLeft cornerRadii:CGSizeMake(15, 15)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = shButton.bounds;
maskLayer.path = maskPath.CGPath;
shButton.layer.mask = maskLayer;
}