Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- UIImage *image = [UIImage imageNamed:@"GradientFillImage.png"];
- myLabel.textColor = [UIColor colorWithPatternImage:image];
- - (void)drawTextInRect:(CGRect)rect
- {
- //set gradient as a pattern fill
- CGRect info[1] = {rect};
- static const CGPatternCallbacks callbacks = {0, &drawImagePattern, NULL};
- CGAffineTransform transform = CGAffineTransformMakeScale(1.0, -1.0);
- CGPatternRef pattern = CGPatternCreate((void *) info, rect, transform, 10.0, rect.size.height, kCGPatternTilingConstantSpacing, true, &callbacks);
- CGColorSpaceRef patternSpace = CGColorSpaceCreatePattern(NULL);
- CGFloat alpha = 1.0;
- CGColorRef patternColorRef = CGColorCreateWithPattern(patternSpace, pattern, &alpha);
- CGColorSpaceRelease(patternSpace);
- CGPatternRelease(pattern);
- self.textColor = [UIColor colorWithCGColor:patternColorRef];
- self.shadowOffset = CGSizeZero;
- [super drawTextInRect:rect];
- }
- void drawImagePattern(void *info, CGContextRef context)
- {
- UIImage *image = [UIImage imageNamed:@"FontGradientPink.png"];
- CGImageRef imageRef = [image CGImage];
- CGRect *rect = info;
- CGContextDrawImage(context, rect[0], imageRef);
- }
Add Comment
Please, Sign In to add comment