Guest User

Untitled

a guest
Jul 21st, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. UIImage *image = [UIImage imageNamed:@"GradientFillImage.png"];
  2. myLabel.textColor = [UIColor colorWithPatternImage:image];
  3.  
  4. - (void)drawTextInRect:(CGRect)rect
  5. {
  6. //set gradient as a pattern fill
  7. CGRect info[1] = {rect};
  8. static const CGPatternCallbacks callbacks = {0, &drawImagePattern, NULL};
  9. CGAffineTransform transform = CGAffineTransformMakeScale(1.0, -1.0);
  10.  
  11. CGPatternRef pattern = CGPatternCreate((void *) info, rect, transform, 10.0, rect.size.height, kCGPatternTilingConstantSpacing, true, &callbacks);
  12. CGColorSpaceRef patternSpace = CGColorSpaceCreatePattern(NULL);
  13. CGFloat alpha = 1.0;
  14. CGColorRef patternColorRef = CGColorCreateWithPattern(patternSpace, pattern, &alpha);
  15. CGColorSpaceRelease(patternSpace);
  16. CGPatternRelease(pattern);
  17. self.textColor = [UIColor colorWithCGColor:patternColorRef];
  18. self.shadowOffset = CGSizeZero;
  19. [super drawTextInRect:rect];
  20. }
  21.  
  22. void drawImagePattern(void *info, CGContextRef context)
  23. {
  24. UIImage *image = [UIImage imageNamed:@"FontGradientPink.png"];
  25. CGImageRef imageRef = [image CGImage];
  26. CGRect *rect = info;
  27. CGContextDrawImage(context, rect[0], imageRef);
  28. }
Add Comment
Please, Sign In to add comment