在写项目的过程中,我们经常会遇到圆形图片的展示的需求,下面写一下我们经常会选择的几种方案:
1.
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 50, 50)];
imageView.image = [UIImage imageNamed:@"1.png"];
imageView.layer.masksToBounds = YES;
imageView.layer.cornerRadius = 25;
(PS:下面这两句可以提高对你的帧数保持一定的高度,当帧数较低时,屏幕会出现比较明显的卡顿,不流畅)
imageView.layer.shouldRasterize = YES;
imageView.layer.rasterizationScale = [UIScreen mainScreen].scale;
[self.view addSubview:imageView];
2. 在图片上面覆盖一个镂空圆形图片的方法可以实现圆形头像效果,这个也是极为高效的方法。
缺点就是对视图的背景有要求,单色背景效果就最为理想。
3.
UIGraphicsBeginImageContextWithOptions(self.frame.size, YES, 2.0f); //self为要变为圆角的view 最后一个参数可以改变生成图片的清晰度
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image1 = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//后续还会更新其他方法,以及性能的比较