title: UILabel text animation with side to unlock effect
body: <p>I was wondering how do someone achieve the "slide to unlock effect" on a UILabel's text without using a static image as previously asked here.</p>
  
  <pre><code>// I'd like to use the uilable's current text to this sample code  but not seem to be able to do it.
  
      // ---&gt;  UIImage *textImage = [UIImage imageNamed:@"SlideToUnlock.png"];
        CGFloat textWidth = textImage.size.width;
        CGFloat textHeight = textImage.size.height;
  
    CALayer *textLayer = [CALayer layer];
    textLayer.contents = (id)[textImage CGImage];
    textLayer.frame = CGRectMake(10.0f, 215.0f, textWidth, textHeight);
    CALayer *maskLayer = [CALayer layer];
  
    // Mask image ends with 0.15 opacity on both sides. Set the background color of the layer
    // to the same value so the layer can extend the mask image.
    maskLayer.backgroundColor = [[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.15f] CGColor];
    maskLayer.contents = (id)[[UIImage imageNamed:@"Mask.png"] CGImage];
  
    // Center the mask image on twice the width of the text layer, so it starts to the left
    // of the text layer and moves to its right when we translate it by width.
    maskLayer.contentsGravity = kCAGravityCenter;
    maskLayer.frame = CGRectMake(-textWidth, 0.0f, textWidth * 2, textHeight);
  
    // Animate the mask layer's horizontal position
    CABasicAnimation *maskAnim = [CABasicAnimation animationWithKeyPath:@"position.x"];
    maskAnim.byValue = [NSNumber numberWithFloat:textWidth];
    maskAnim.repeatCount = 1e100f;
    maskAnim.duration = 1.0f;
    [maskLayer addAnimation:maskAnim forKey:@"slideAnim"];
  
    textLayer.mask = maskLayer;
    [self.view.layer addSublayer:textLayer];
  </code></pre>
  
  <p>Thanks</p>