1

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

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 绘制多行字符串,或者有什么替代方法吗?

提前致谢。

4

1 回答 1

0

您可以将其绘制为 CGContext 的 drawInRect:withAttributes 方法,您必须为绘制文本提供高度。

于 2017-02-28T06:55:00.357 回答