美文网首页
让View四个角部分圆弧化

让View四个角部分圆弧化

作者: 地选之猿 | 来源:发表于2016-06-02 10:14 被阅读53次

    今天学了一种让圆角部分圆弧化的方法,就是使用UIBezierPath;如果是让所有的角都圆弧化,很简单,只要设置View的layer的cornerRadius就行了.

    而今天要说的UIBezierPath方法是一种比较优雅的方法,这是我在一片博客上看见的,感谢作者,博客原文在这里.

    -(UIView*)viewForRoundingsChangeWith:(UIView*)view byRoundingCorners:(UIRectCorner)rectCorner cornerRadii:(CGSize)cornerRadii

    {

    UIBezierPath*maskPath = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:rectCorner cornerRadii:cornerRadii];

    CAShapeLayer*maskLayer = [[CAShapeLayer alloc]init];

    maskLayer.frame= view.bounds;

    maskLayer.path= maskPath.CGPath;

    view.layer.mask= maskLayer;

    returnview;

    }

    我自己定义了一个单例类,写了一个方法,实现如上.

    其中rectCorner 就是定义是哪些角需要圆角化,有

    * UIRectCornerTopLeft

    * UIRectCornerTopRight

    * UIRectCornerBottomLeft

    * UIRectCornerBottomRight

    * UIRectCornerAllCorners

    见名知意,不多赘述.

    cornerRadii用来定义圆滑的弧度.

    相关文章

      网友评论

          本文标题:让View四个角部分圆弧化

          本文链接:https://www.haomeiwen.com/subject/jatqxttx.html