iOS切圆角的几个方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();

}

欢迎指正讨论~~~

 

以上是关于iOS切圆角的几个方法的主要内容,如果未能解决你的问题,请参考以下文章

iOS 琐碎点------切某个或某几个角的圆角

UI-切圆角透明度取消按钮点击高亮效果按钮文字带下划线

iOS 设计中关于UIScrollViewDelegate的几个代理方法的简单介绍

iOS - 指定视图的圆角个数-b

iOS scrollview不能滑动的几个原因及解决方法

你要知道的设计模式的几个原则