美文网首页
iOS设置圆角的三种方式(禁用layer)

iOS设置圆角的三种方式(禁用layer)

作者: baihualinxin | 来源:发表于2018-04-19 10:35 被阅读0次

    第一种方法:通过设置layer的属性 

    UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

      //只需要设置layer层的两个属性

      //设置圆角

        imageView.layer.cornerRadius = imageView.frame.size.width / 2;

      //将多余的部分切掉

        imageView.layer.masksToBounds = YES;

        [self.view addSubview:imageView];

     注:禁用。。影响性能。

    第二种方法:使用贝塞尔曲线UIBezierPath和Core Graphics框架画出一个圆角

    UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

        imageView.image = [UIImage imageNamed:@"1"];

        //开始对imageView进行画图

        UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, 1.0);

        //使用贝塞尔曲线画出一个圆形图

        [[UIBezierPath bezierPathWithRoundedRect:imageView.bounds cornerRadius:imageView.frame.size.width] addClip];

        [imageView drawRect:imageView.bounds];

        imageView.image = UIGraphicsGetImageFromCurrentImageContext();

        //结束画图

        UIGraphicsEndImageContext();

        [self.view addSubview:imageView];

    第三种方法:使用CAShapeLayer和UIBezierPath设置圆角

    首先需要导入<AVFoundation/AVFoundation.h>

    #import "ViewController.h"

    @interface ViewController ()

    @end

    @implementation ViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

        UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

        imageView.image = [UIImage imageNamed:@"1"];

        UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:imageView.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:imageView.bounds.size];

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

        //设置大小

        maskLayer.frame = imageView.bounds;

        //设置图形样子

        maskLayer.path = maskPath.CGPath;

        imageView.layer.mask = maskLayer;

        [self.view addSubview:imageView];

    }

    相关文章

      网友评论

          本文标题:iOS设置圆角的三种方式(禁用layer)

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