iOS 圆角设置的几种方法

1 方法一:通过layer设置圆角

UIImageView *iconView = [[UIImageView alloc] init];
    iconView.layer.cornerRadius = 25;
    // 超出主层边框就要裁剪掉
    iconView.layer.masksToBounds = YES;
备注:iOS9以后使用cornerRadius,不会造成帧数杀手

2 方法二:在xib中设置

1D94EC12-4DFA-43BF-BCBB-F9ABCB43ED34.png

3 方法三:利用图形上下文设置

// 显示头像,设置占位图片
    [_iconView sd_setImageWithURL:[NSURL URLWithString:item.image_list] placeholderImage:[UIImage imageNamed:@"defaultUserIcon"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
        // 加载成功就会调用
        // 只要想生成新的图片 => 图形上下文
        // 1.开启图形上下文
        UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);
        // 2.描述裁剪区域
        UIBezierPath *clipPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
        
        // 3.设置裁剪区域
        [clipPath addClip];
        
        // 4.画图片
        [image drawAtPoint:CGPointZero];
        
        // 5.从上下文取出图片
        image = UIGraphicsGetImageFromCurrentImageContext();
        _iconView.image = image;
        
        // 6.关闭上下文
        UIGraphicsEndImageContext();
    }];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,572评论 6 30
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,143评论 5 13
  • 转载://www.greatytc.com/p/32fcadd12108 每个UIView有一个伙伴称为l...
    F麦子阅读 6,318评论 0 13
  • 每个UIView有一个伙伴称为layer,一个CALayer。UIView实际上并没有把自己画到屏幕上;它绘制本身...
    shenzhenboy阅读 3,160评论 0 17
  • 前一阵子由于受到一些情绪的困扰,想要改变,于是老师给我推荐了《精通情绪》这本书。 第一遍看完,说实话,我不太知道自...
    小自在的园地阅读 2,786评论 0 5