Я пытаюсь заполнить некоторый текст градиентной заливкой, где я устанавливаю режим рисования текста на обрезку, а затем рисую градиентную заливку.
Проблема в том, что всякий раз, когда я устанавливаю режим рисования текста на клип, каждый символ текстовой строки помещается поверх друг друга, а не рисуется в последовательности, образующей слово - это наиболее странно!
Мой код выглядит так:
CGRect r = CGRectInset(self.frame, 55, 8);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGFloat components[8] = {44/255, 54/255, 66/255, 1.0
,75/255, 92/255, 111/255, 1.0};
CGFloat locations[2] = {0, 1};
// draw the text's gradient fill
CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, components, locations, 2);
CGContextSetTextDrawingMode(context, kCGTextClip);
[monthString drawInRect:r withFont:f lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentCenter];
CGContextFillRect(context, CGRectMake(0, 0, 320, 20));