iOS切圆角的几个方法

  这几天在研究到切圆角的方法,也找了下网上的资料 ----------

  切圆角尽量避免离屏渲染。

  1.直接用视图中layer中的两个属性来设置圆角,这种方法比较简单,但是及其影响性能不推荐:

   @property (strong, nonatomic) IBOutlet UIImageView *imageView;

  self.imageView.layer.cornerRadius = 5;

      self.imageView.layer.masksToBounds = YES; 

 

  2.通过layer和bezierPath 设置圆角

- (void)setLayerAndBezierPathCutCircularWithView:(UIView *) view

{

    // 创建BezierPath 并设置角 和 半径 

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

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

    layer.frame = view.bounds;

    layer.path = path.CGPath;

    view.layer.mask = layer;

}

  3.通过Graphics 和 BezierPath 设置圆角

- (void)setGraphicsCutCirculayWithView:(UIImageView *) view

{

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

    [[UIBezierPath bezierPathWithRoundedRect:view.bounds cornerRadius:5] addClip];

    [view drawRect:view.bounds];

    view.image = UIGraphicsGetImageFromCurrentImageContext();

    // 结束

    UIGraphicsEndImageContext();

}

欢迎指正讨论~~~

 

转载于:https://www.cnblogs.com/hlxup/p/5832829.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值