2012-08-05 90 views
0

我有一些線條已經用CTFramesetterCreateFrame格式化,文字正在向上打印,但行順序是顛倒的,即第一行是在底部,第二行是從底部開始第二行等等。我可以改變的變換,使背單詞到前倒掛等,但我不能讓行才能正確CTFrameDraw從ios的底部到頂部繪製線條

我到處檢查了變換矩陣和它的總是相同的 -

CGAffineTransform a = CGContextGetTextMatrix (context); 

給我

a CGAffineTransform {...} 
a CGFloat 1 
b CGFloat 0 
c CGFloat 0 
d CGFloat -1 
tx CGFloat 0 
ty CGFloat 300 

這可能是一個小白錯誤,但我無法找到這個問題,我是相當新的coretext所以任何建議,將不勝感激。

OSX 10.7.4在IOS模擬器中運行IOS5.1的XCode 4.4在一個UIView

回答

1

這似乎解決它 - 看看這裏draw text right side up on ios - 總能找到答案張貼問題

後簡而言之,你必須將座標翻轉回來,看它們是如何在左下角的0,0上進行的,然後它會朝右上方移動,你會認爲它可能會更好一些......

CGContextSetTextMatrix (context, CGAffineTransformIdentity); 
CGContextTranslateCTM(context, 0.0f, height_of_frame); 
CGContextScaleCTM(context, 1.0f, -1.0f); 

CTFrameDraw(FFrame, context); 
相關問題