指定视图的某个边的圆角

我们一般切视图的圆角的时候 

imageview.layer.masksToBounds =  YES ;
imageview.layer.cornerRadius = 30;
 
这时候imageview的宽高是60.0f会切出圆形  但是我们常见一些视图控件 并不是都是直接切成了圆形 而是不同的边 切了不同的圆角
这时候需要用到的一个贝塞尔曲线。 解决方式虽然有很多 但是个人认为这个是最清晰好用的。
 
好 上代码
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:UIRectCornerBottomLeft cornerRadii:CGSizeMake(20, 20)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = view.bounds;
maskLayer.path = maskPath.CGPath;
view.layer.mask = maskLayer;

创建贝塞尔曲线 然后其中一个byRoundingCorners后面的属性是 UIRectCornerBottomLeft 意思是下左的圆角  设置了角度之后 就是其他三个角为直角  这个角为20度的圆角 

当然 这里除了下左还可以有很多属性  

列出来:UIRectCornerTopLeft 上左

UIRectCornerTopRight 上右

UIRectCornerBottomLeft 下左

UIRectCornerBottomRight 下右

UIRectCornerAllCorners 所有的角  很清晰明了吧 

 

然后 设置多个角就在这属性后面加上  |  这个符号即可  因为是枚举值

 

示例:

UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:UIRectCornerBottomLeft|UIRectCornerBottomRight | UIRectCornerTopLeft cornerRadii:CGSizeMake(20, 20)];

 这样 很简单的就可以解决视图某个角切圆角了。

转载于:https://www.cnblogs.com/wangxiaoqi/p/6417097.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值