Я нашел этот ответ о том, как рисовать повернутый текст с помощью NSString drawInRect:, но я не уверен, как это работает, поскольку для меня это всего лишь работа: https://discussions.apple.com/thread/1779814?start=0&tstart=0
Мой код выглядит так:
CGContextSaveGState(context);
CGContextDrawLinearGradient(context, gradient, CGPointMake(0, centY - halfWidth), CGPointMake(0, centY + halfWidth), 0);
// Add text
CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
NSString *str = @"some test string";
CGAffineTransform transform1 = CGAffineTransformMakeRotation(M_PI/4);
CGContextConcatCTM(context, transform1);
CGContextTranslateCTM(context, 0, 0);
UIFont *font = [UIFont systemFontOfSize:16.0];
[str drawInRect:CGRectMake(0, 0, 200, 100) withFont:font lineBreakMode:UILineBreakModeWordWrap alignment:UIBaselineAdjustmentNone];
Поэтому, когда я использую это, я вижу, что текст нарисован на 45 градусов ниже оси x. Я хочу нарисовать текст по вертикали вдоль моего линейного градиента. Поэтому я подумал, что могу сделать это, используя M_PI/2 для 90 градусов. Однако я не вижу своего текста. Я пробовал разные преобразования для вращения, и только некоторые, похоже, работают как M_PI/4 и M_PI/8. Я бы подумал, что если бы я использовал -M_PI/4, у него был бы текст на 45 градусов выше оси x, а M_PI/2 был бы на 90 градусов ниже оси x. Но оба появляются ни с чем.
Любые мысли? спасибо.