美文网首页
iOS设置图片圆角

iOS设置图片圆角

作者: 一盏盏灯 | 来源:发表于2018-07-31 11:22 被阅读9次
    PS:记录自己工作学习中的一些知识;

    一、UIImageView

    • iOS9之后:
      UIImageView使用以下方法是不会触发离屏渲染,所以如果不适配iOS9以前的版本得话,大可放心使用;
    imageView.layer.cornerRadius = 30; 
    imageView.layer.masksToBounds = YES;
    
    • 适配iOS9之前的版本建议使用以下方法,使用CPU渲染,渲染得到的bitmap最后再交由GPU用于显示,得到的结果是一样的;
    /**
     * On-screen-renderring绘制UIImage矩形圆角
     */
    - (UIImage *)imageWithCornerRadius:(CGFloat)radius ofSize:(CGSize)size{
        /* 当前UIImage的可见绘制区域 */
        CGRect rect = (CGRect){0.f,0.f,size};
        /* 创建基于位图的上下文 */
        UIGraphicsBeginImageContextWithOptions(size, NO, UIScreen.mainScreen.scale);
        /* 在当前位图上下文添加圆角绘制路径 */
        CGContextAddPath(UIGraphicsGetCurrentContext(), [UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:radius].CGPath);
        /* 当前绘制路径和原绘制路径相交得到最终裁剪绘制路径 */
        CGContextClip(UIGraphicsGetCurrentContext());
        /* 绘制 */
        [self drawInRect:rect];
        /* 取得裁剪后的image */
        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
        /* 关闭当前位图上下文 */
        UIGraphicsEndImageContext();
        return image;
    }
    
    
    • 美工切图(可以让美工切一张圆角的遮罩图,盖上去,也是很不错的)

    二、UILabel设置圆角

    请参考的我另一篇文章有说明,链接奉上:https://www.jianshu.com/p/08ef6e3f922b

    相关文章

      网友评论

          本文标题:iOS设置图片圆角

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