UIView added the UIView property in iOS 8.0. Now just create a UILabel to use as a mask for the UIView :
Objective-C:
UILabel* label = [[UILabel alloc] initWithFrame:self.view.frame]; label.text = @"Label Text"; label.font = [UIFont systemFontOfSize:70]; label.textAlignment = NSTextAlignmentCenter; label.textColor = [UIColor whiteColor]; UIView* overlayView = [[UIView alloc] initWithFrame:self.view.frame]; overlayView.backgroundColor = [UIColor blueColor]; overlayView.maskView = label; [self.view addSubview:overlayView];
Swift 2 :
let label = UILabel.init(frame: view.frame) label.text = "Label Text" label.font = UIFont.systemFontOfSize(70) label.textAlignment = .Center label.textColor = UIColor.whiteColor() let overlayView = UIView.init(frame: view.frame) overlayView.backgroundColor = UIColor.blueColor() overlayView.maskView = label view.addSubview(overlayView)
This creates a clear UILabel color UIColor.blueColor() , taken from an overlayView .
source share