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();
}];
网友评论