您的位置:首页 > 移动开发 > IOS开发

iOS切圆角的几个方法

2020-03-27 18:57 1081 查看

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

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

  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

  • 点赞
  • 收藏
  • 分享
  • 文章举报
dibitan1904 发布了0 篇原创文章 · 获赞 0 · 访问量 107 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: