iPad - 用于多行字符串的CGContextShowTextAtPoint

时间:2013-02-04 12:46:30

标签: objective-c ipad core-graphics xcode4.5 cgaffinetransform

我正在使用以下代码段来绘制文字:

CGFloat DegreesToRadiansText(CGFloat degrees) {return degrees * M_PI / 180;};
CGContextSelectFont (context, "Arial Rounded MT Bold", 18, kCGEncodingMacRoman);
CGContextSetCharacterSpacing (context, 0);
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, 552, 445, "iPhone\nUser", 11);

如果我绘制单行文本,上面的代码工作正常。

但是如果我添加多行文本(即上面代码中显示'\ n'字符的文本),它就会显示为单行文本。

现在我得到输出,如下图所示:

http://tinyurl.com/crrz9ew

但我想要输出如下图所示:

http://tinyurl.com/ctntbfk

有什么方法可以使用函数CGContextShowTextAtPoint绘制多行字符串或者有没有替代它?

提前致谢。

1 个答案:

答案 0 :(得分:0)

你可以把它画成CGContext的drawInRect:withAttributes方法 你必须提供绘制文字的高度。