4

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?

openfrog
  • 40,201
  • 65
  • 225
  • 373

1 Answers1

9

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:

enter image description here

On device:

enter image description here

Community
  • 1
  • 1
Vitaly Berg
  • 875
  • 8
  • 10