我有一些已经使用CTFramesetterCreateFrame格式化的行,并且这些单词正在向上打印,但是行顺序相反,即第一行位于底部,第二行是从底部开始的第二行等等。我可以改变转换并使单词倒置到前面等等,但我无法正确排序
我到处检查了变换矩阵,它总是一样 -
CGAffineTransform a = CGContextGetTextMatrix (context);
给了我
a CGAffineTransform {...}
a CGFloat 1
b CGFloat 0
c CGFloat 0
d CGFloat -1
tx CGFloat 0
ty CGFloat 300
这可能是一个noob错误,但我找不到问题,我对coretext相当新,所以任何建议都会受到赞赏。
OSX 10.7.4在UIView中运行IOS模拟器IOS5.1 XCode 4.4
答案 0 :(得分:1)
这似乎可以解决它 - 看看draw text right side up on ios - 在发布问题后总能找到答案
简而言之,你必须将坐标转回到左下角0,0的osx,然后它向右走,你认为它可能会好一点......
CGContextSetTextMatrix (context, CGAffineTransformIdentity);
CGContextTranslateCTM(context, 0.0f, height_of_frame);
CGContextScaleCTM(context, 1.0f, -1.0f);
CTFrameDraw(FFrame, context);