在ios中特定形状剪裁图片

如何用特定的形状剪裁覆盖UIImageView的图片?效果图如下:

剪裁效果图

用两个图片和下面的方法实现。 图片1是被剪裁的图片,图片2是需要剪裁的形状。

- (UIImage*) maskImage:(UIImage *)image withMask:(UIImage *)maskImage {

        CGImageRef maskRef = maskImage.CGImage; 

        CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
            CGImageGetHeight(maskRef),
            CGImageGetBitsPerComponent(maskRef),
            CGImageGetBitsPerPixel(maskRef),
            CGImageGetBytesPerRow(maskRef),
            CGImageGetDataProvider(maskRef), NULL, false);

        CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
        return [UIImage imageWithCGImage:masked];

    }

可以去网上搜相关教程,有的说的很详细。