天天看点

ios-切圆角

利用代码设置

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"aaa"]];

// 设置圆角的大小
imageView.layer.cornerRadius = ;
[imageView.layer setMasksToBounds:YES];
           

在xib中设置

ios-切圆角

使用绘画

性能高
可以给UIImage添加一个分类UIImage+Extension
分类中增加一个返回圆形图片的方法,扩展性强

#import <UIKit/UIKit.h>

@interface UIImage (Extension)

- (UIImage *)circleImage;

@end


#import "UIImage+Extension.h"

@implementation UIImage (Extension)

- (UIImage *)circleImage {

    // 开始图形上下文
    UIGraphicsBeginImageContextWithOptions(self.size, NO, );

    // 获得图形上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();

    // 设置一个范围
    CGRect rect = CGRectMake(, , self.size.width, self.size.height);

    // 根据一个rect创建一个椭圆
    CGContextAddEllipseInRect(ctx, rect);

    // 裁剪
    CGContextClip(ctx);

    // 将原照片画到图形上下文
    [self drawInRect:rect];

    // 从上下文上获取剪裁后的照片
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

    // 关闭上下文
    UIGraphicsEndImageContext();

    return newImage;
}


           

具体使用:

// 展示出来一个圆形的图片
UIImage *placeHolder = [[UIImage imageNamed:@"aaa"] circleImage];