How to mask the layer of a view by the content of

2020-02-26 02:23发布

问题:

I have a UIImageView and a UILabel, and want the content of the UILabel to mask the UIImageView. The goal is that the text is visible with content of image but everything else transparent.

Is there a simple way to mask a view by the contents of another view?

回答1:

You can use QuartzCore Framework.

(Link project with QuartzCore.framework and import <QuartzCore/QuartzCore.h>).

@import QuartzCore;

Background of label must be clear color. Example:

self.imageView.layer.mask = self.label.layer;
self.imageView.layer.masksToBounds = YES;

In Interface Builder:

On device: