• 指定视图的某个边的圆角


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

    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)];
    

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

  • 相关阅读:
    man LVCREATE
    Pyhton---基础---递归
    Python---基础---循环,函数
    Python---基础---dict_tuple_set
    Python---基础---dict和set2
    安卓网络编程学习(1)——java原生网络编程(1)
    使用python爬取B站弹幕和三连
    maven项目整合工具学习
    读阿里巴巴泰山版《java开发手册》总结(2)
    第十三周学习进度
  • 原文地址:https://www.cnblogs.com/wangxiaoqi/p/6417097.html
Copyright © 2020-2023  润新知