我正在使用以下代码在自定义视图中绘制一些文本:
- (void)drawProgramDescription:(CGContextRef) context {
UIGraphicsPushContext(context);
// get string from dataSource
NSString *programDescription = [self.dataSource giveDescriptionOfProgram:self];
// convert string to a C string
const char *programDescriptionCString = [programDescription
cStringUsingEncoding:kCGEncodingMacRoman];
CGContextSelectFont(context, "Helvetica", 1, kCGEncodingMacRoman);
// draw it
CGContextShowTextAtPoint(context, 20, 20, programDescriptionCString,
sizeof(programDescriptionCString) + 1);
UIGraphicsPopContext();
}
在我的方法中调用此方法,drawRect
以便文本显示在我的自定义视图上。
CGContextShowTextAtPoint
然而,问题是即使我drawRect
已经在不同的迭代中,放入的字符串的大小似乎也是固定的。
例如,如果第一次显示的文本是:
X*X
在第二次调用 drawRect 时,它应该绘制文本
sin(X)
它不会完全显示文本,而是将文本剪切到
sin(
它仍然具有drawRect第一次迭代的原始大小。
这是 的一个特点CGContextShowTextAtPoint
吗?还是我错过了什么?
谢谢!