CGAffineTransform帮助,翻转标签

时间:2011-06-29 18:54:07

标签: iphone quartz-graphics

我基本上有一个饼图,我在饼图的每个部分都有线条。因此,当线条从左边的圆圈出来时,当我绘制文本时,它会被反转。 “100%”看起来像=> “%001”(注意,1和%符号实际上是反向绘制的,就像镜子一样。所以1点上方的小突出点指向右侧,而不是左侧。)

我尝试通过Apple的AffineTransform文档阅读,但它对我来说并不完全合理。我试着让这个转换矩阵开始:

CGAffineTransform transform1 = CGAffineTransformMake(-1, 0, 0, 1, 0, 0);

这会将文本围绕其x轴翻转,因此文本现在看起来在圆圈的左侧是正确的。但是,文本现在就行了,而不是像原来那样在行尾。所以我想我可以通过改变矩阵中的tx值来移动x轴方向的文本来翻译它。所以我没有使用上面的矩阵,而是使用了这个:

CGAffineTransform transform1 = CGAffineTransformMake(-1, 0, 0, 1, -strlen(t1AsChar), 0);

然而,文本只是停留在原来的位置。我究竟做错了什么?感谢。

1 个答案:

答案 0 :(得分:0)

strlen()没有给出渲染文本框的大小,只是给出了字符串本身的长度(字符串有多少个字符)。如果您使用UITextField,则可以使用textField.frame.size.width