图片圆角处理封装有两种方式:
1:在Layer层上做处理。(缺点:一个页面出现多个需要裁剪的图片时,程序会很卡顿)
- self.profileImageView.layer.cornerRadius = self.profileImageView.width * 0.5;
- self.profileImageView.clipsToBounds = YES;
2:对UIImage进行封装处理。(调用方便,不会造成程序的卡顿)
创建UIImage的扩展类。
UIImage+LMExtension.h文件中
- #import <UIKit/UIKit.h>
-
- @interface UIImage (LMExtension)
-
- -(UIImage *)circleImage;
- @end
UIImage+LMExtension.m文件中
-
-
-
-
- #import "UIImage+LMExtension.h"
-
- @implementation UIImage (LMExtension)
-
- -(UIImage *)circleImage
- {
-
- UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0);
-
- CGContextRef ctx = UIGraphicsGetCurrentContext();
-
- CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);
- CGContextAddEllipseInRect(ctx, rect);
-
- CGContextClip(ctx);
-
- [self drawInRect:rect];
-
- UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
-
- UIGraphicsEndImageContext();
-
- return image;
- }
- @end