美文网首页
圆角设置

圆角设置

作者: liwuJs | 来源:发表于2017-06-19 09:58 被阅读12次

1、需求

         最近项目中遇到需要在tableview的cell中加入多个圆角的需求,用系统提供的clipsToBounds设置会导致离屏渲染,严重影响性能和客户体验。

2、解决方案

在每一View的layer层中有一个mask属性,他就是专门来设置该View的遮罩效果的。该mask本身也是一个layer层。我们只需要生成一个自定义的layer,然后覆盖在需要遮罩的View上面即可。问题就归于如何生成入上图所示的不规则图片的Layer。CAShapeLayer可以根据设置的条件,产生一个闭合空间的layer,这就是我们常说的贝塞尔曲线。

设置圆角我们采用的方法是:+ (instancetype)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;

3、实现代码

实现方式为实现了CAShapeLayer+ViewMask的ViewMask的Category。

#import "CAShapeLayer+ViewMask.h"

@implementation CAShapeLayer (ViewMask)

+ (instancetype)createMaskLayerWithView:(UIView *)view withRoudCorner:(UIRectCorner)rectCorner withSizeRound:(CGSize)sizeRound{

CGFloat viewWidth = CGRectGetWidth(view.frame);

CGFloat viewHeight = CGRectGetHeight(view.frame);

UIBezierPath * path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, viewWidth, viewHeight) byRoundingCorners:rectCorner cornerRadii:sizeRound];

CAShapeLayer *layer = [CAShapeLayer layer];

layer.path = path.CGPath;

return layer;

}

@end

这个是我自定义的方法,可以通过rectCorner设置想要给view添加四个角中的哪几个角,sizeRound可以设置圆角的弧度。

写在此作为笔记,有什么不对的欢迎大家指正。

相关文章

  • Image

    直接圆角图片 设置圆角图片度数 设置圆角图片带灰色圆角边框 设置圆角图片带灰色圆角边框带阴影

  • iOS 设置UI控件圆角

    一: 设置UIView上方圆角或者下方圆角 //设置UITableView section 圆角 设置好以后就这样了

  • iOS Masonry布局(四) - 视图设置圆角

    视图设置任意圆角 Masonry布局视图设置圆角 若使用Masonry布局的视图设置后发现,设置的圆角不起作用。这...

  • iOS Masonry - 视图设置圆角

    视图设置任意圆角 Masonry布局视图设置圆角 若使用Masonry布局的视图设置后发现,设置的圆角不起作用。这...

  • 按钮圆角

    //设置为圆角 [<#name#>.layer setMasksToBounds:YES]; //设置圆角弧度 [...

  • 玩转CALayer视觉效果

    圆角: cornerRadius 设置圆角的半径 边框: borderWidth 和borderColor 设置边...

  • 2019-01-31

    设置柱子的圆角。itemStyle 设置上右下左的圆角弧度

  • iOS设置圆角的四种方法

    原文iOS设置圆角的四种方法iOS设置圆角的方法及指定圆角的位置 一、设置CALayer的cornerRadius...

  • 边框效果-css-v1.0.0

    半透边框 通过设置颜色的透明度实现。 框内圆角 方式1:为元素设置圆角,外层设置轮廓outline。圆角与直角之间...

  • iOS图片圆角设置汇总

    点击下载 Demo 一、CornerRadius 设置圆角 如果仅仅是view需要设置圆角,是不要设置maskTo...

网友评论

      本文标题:圆角设置

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