我正在爲我的應用程序的文本添加功能。這段文字將會添加到CGContext和Quartz 2D中。變量text
從UITextField的文本屬性中拉出。編碼和轉換中的Quartz 2D Text Drawing錯誤?
這裏是我到目前爲止的代碼:
CGRect textBox = CGRectMake(0, 0, 300, 200);
UIView *textView = [[UIView alloc] initWithFrame:textBox];
const char *textChar = [text UTF8String];
NSInteger xLocation = (contentOffset.x + 100);
CGContextSelectFont (UIGraphicsGetCurrentContext(), "Helvetica", 14.0f, kCGEncodingMacRoman);
CGContextSetShouldSmoothFonts(UIGraphicsGetCurrentContext(), YES);
CGContextSetCharacterSpacing (UIGraphicsGetCurrentContext(), 10);
CGContextSetTextDrawingMode (UIGraphicsGetCurrentContext(), kCGTextFill);
CGContextSetRGBFillColor (UIGraphicsGetCurrentContext(), 255, 255, 255, 1.0);
CGContextShowTextAtPoint (UIGraphicsGetCurrentContext(), xLocation, 110, textChar, 9);
[drawGallery addSubview:textView];
我有幾個問題是:
的文本渲染翻轉 - (這是很容易與變換整流,但我遵循的教程沒有這個問題,所以我有點困惑LINK)。
文字呈現奇怪的字符 - 我認爲這是一個編碼問題,但我該如何調整呢?
該文本沒有被添加到
addSubview
行的視圖中,它只在CGContext更新時才被添加,即我也有畫線功能,如果我在視圖上繪製,那麼文本會奇蹟般地彈出向上。該文本是可怕的鋸齒狀和嚴重呈現,有什麼我可以做到這一點?我添加了一個
CGContextSetShouldSmoothFonts
,但它似乎沒有做任何事情。
請參閱以下的例子:
感謝所有幫助你可以給。
您是否在drawRect方法中使用了與文本相關的CGContext *函數? – user478681 2011-06-03 14:35:16