Iphone NSString drawinrect未填充整个rect

Iphone NSString drawinrect未填充整个rect,iphone,cocoa-touch,text,nsstring,Iphone,Cocoa Touch,Text,Nsstring,NSString drawInRect方法有问题。 我有一个非常大的文本要在768x1024大小的矩形上绘制,我得到以下结果: 正如你所看到的,唯一到达整个屏幕的文本行是最后一行,我不知道为什么其他行没有。 这是我的代码: //The drawing rectangle CGRect textRect = CGRectMake(1, 4, 768, 1024); [[UIColor blackColor] set]; CGContextSetTextDrawingMode(context,

NSString drawInRect方法有问题。 我有一个非常大的文本要在768x1024大小的矩形上绘制,我得到以下结果:

正如你所看到的,唯一到达整个屏幕的文本行是最后一行,我不知道为什么其他行没有。 这是我的代码:

//The drawing rectangle
CGRect textRect = CGRectMake(1, 4, 768, 1024);
[[UIColor blackColor] set];
CGContextSetTextDrawingMode(context, kCGTextFillStroke);
//texto_completo is a very large text String
[texto_completo drawInRect:textRect withFont:font lineBreakMode:UILineBreakModeCharacterWrap     alignment:UITextAlignmentLeft];
CGImageRef cgImage = CGBitmapContextCreateImage(context); 
UIImage *img_con_texto = [[UIImage alloc] initWithCGImage:cgImage];
UIGraphicsPopContext();
CGContextRelease(context);
CGImageRelease(cgImage);

你能帮我理解这种行为吗?

看起来苹果的算法过于激进了


最好的解决方案是将对齐方式设置为UITextAlignmentCenter,这是top正确对齐字符的唯一方法。在我的测试中,石灰断裂与校准UITextAlignmentLeft的情况相同。

我尝试将UITextAlignmentCenter设置为UITextAlignmentRight,但得到了相同的错误。也尝试设置一个较小的矩形,但同样的情况也发生了。唯一的解决办法是设置一个更大的字体,但我需要小字体。需要帮忙吗?