iOS 通过有alpha值的图片创建蒙版

时间:2021-03-19 18:03:46

@interface ViewController ()

@property (nonatomic, weak) IBOutlet UIImageView *imageView;
@end

@implementation ViewController

- (void)viewDidLoad
{
  [super viewDidLoad];

  //create mask layer
  CALayer *maskLayer = [CALayer layer];
  maskLayer.frame = self.layerView.bounds;
  UIImage *maskImage = [UIImage imageNamed:@"Cone.png"];  // 带有alpha值的图片
  maskLayer.contents = (__bridge id)maskImage.CGImage;

  //apply mask to image layer?
  self.imageView.layer.mask = maskLayer;  // 需要蒙版效果的图片
}
@end

 CALayer蒙板图层真正厉害的地方在于蒙板图不局限于静态图。任何有图层构成的都可以作为mask属性,这意味着你的蒙板可以通过代码甚至是动画实时生成。