我正在为我的应用程序的文本添加功能。这段文字将会添加到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