美文网首页
iOS高效切圆角

iOS高效切圆角

作者: 嘚嘚以嘚嘚 | 来源:发表于2017-12-08 17:17 被阅读0次

    - (UIImageView *)roundedRectImageViewWithCornerRadius:(CGFloat)cornerRadius {

    UIBezierPath *bezierPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds cornerRadius:cornerRadius];

    //UIBezierPath * bezierPath = [UIBezierPath bezierPathWithRoundedRect:backView.bounds byRoundingCorners:UIRectCornerBottomLeft|UIRectCornerTopLeft cornerRadii:CGSizeMake(width, height)];

    CAShapeLayer *layer = [CAShapeLayer layer];

    layer.path = bezierPath.CGPath;

    self.layer.mask = layer;

    return self;

    }

    UIButton

    说明:UIButton 的背景图片,如果是复杂的图片,可以依靠 UI 切图来实现。如果是简单的纯色背景图片,可以利用代码绘制带圆角的图片。

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

    // 设置 UIButton 的背景图片。

    [button setBackgroundImage:image forState:UIControlStateNormal];

    背景图片绘制方法

    + (UIImage *)pureColorImageWithSize:(CGSize)size color:(UIColor *)color cornRadius:(CGFloat)cornRadius {

    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, size.width, size.height)];

    view.backgroundColor = color;

    view.layer.cornerRadius = cornerRadius;

    // 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数是屏幕密度

    UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, [UIScreen mainScreen].scale);

    [view.layer renderInContext:UIGraphicsGetCurrentContext()];

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return image;

    }

    相关文章

      网友评论

          本文标题:iOS高效切圆角

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