iPad - 在iPad中使用drawRect方法绘制旋转文本

时间:2013-01-31 15:45:21

标签: objective-c xcode core-graphics ios-simulator cgaffinetransform

我正在开发一个ipad应用程序,我正在尝试使用多个文本标签呈现图像。我正在使用drawRect方法在上下文中绘制文本。 我想要一个如下图所示的输出:

http://tinyurl.com/bypf9kq

但我得到的输出如下图所示

http://tinyurl.com/acz4l9y

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:2)

CGFloat DegreesToRadiansText(CGFloat degrees) {return degrees * M_PI / 180;};
CGContextSelectFont (context, "Helvetica", 60, kCGEncodingMacRoman);
CGContextSetCharacterSpacing (context, 10);
CGContextSetTextDrawingMode (context, kCGTextFill);
CGContextSetGrayFillColor(context, 0.0, 1.0);
CGAffineTransform myTextTransform = CGAffineTransformRotate(CGAffineTransformScale(CGAffineTransformIdentity, 1.f, -1.f ),(DegreesToRadiansText (-90));
CGContextSetTextMatrix (context, myTextTransform);
CGContextShowTextAtPoint (context, 100, 200, "Quartz 2D", 9);

取自Here.

基本上,您将文本矩阵设置为自定义变换矩阵,然后绘制。您可能希望在转换前执行CGContextSave,在完成绘制文本时执行CGContextRestore