Подтвердить что ты не робот

Как использовать CGAffineTransformMakeRotation?

enter image description here

Я хочу нарисовать текст, используя Quartz 2D. Неправильное направление "меню". Я хочу, чтобы "Меню" по-прежнему читалось и имело 45 градусов с осью X. Ниже мой код:

CGContextSelectFont(context, "Arial", 12, kCGEncodingMacRoman);
CGContextSetTextDrawingMode(context, kCGTextFill);

CGContextSetRGBFillColor(context, 0, 0, 0, 1); // 6 
CGContextSetRGBStrokeColor(context, 0, 0, 0, 1);

CGContextSetTextMatrix(context, CGAffineTransformMake(1.0,0.0, 0.0, -1.0, 0.0, 0.0));   
CGContextSetTextMatrix(context, CGAffineTransformMakeRotation(45)); 
CGContextShowTextAtPoint(context,10, 10, "Menu", 4);
4b9b3361

Ответ 1

CGAffineTransformMakeRotation ожидает угол в радианах, а не в градусах.

#define DEGREES_TO_RADIANS(x) (M_PI * (x) / 180.0)
...

CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(45));

Ответ 2

[view setTransform:CGAffineTransformMakeRotation(M_PI / 2)];