iPhone:使用自动换行从NSString创建图像

时间:2012-02-19 09:53:07

标签: iphone uiimage nsstring word-wrap

我正在使用以下函数将NSString转换为图像。

-(UIImage *)imageFromText:(NSString *)text FontName:(UIFont *)font
{
    // set the font type and size
    //UIFont *font = [UIFont systemFontOfSize:20.0];  
    CGSize size  = [text sizeWithFont:font];

    UIGraphicsBeginImageContext(size);

    [text drawAtPoint:CGPointMake(0.0, 0.0) withFont:font];

    // transfer image
    CGContextSetShouldAntialias(UIGraphicsGetCurrentContext(), YES);
    CGContextSetAllowsAntialiasing(UIGraphicsGetCurrentContext(), YES);

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();    

    return image;
}

效果很好。问题是当字符串包含长文本时,它会创建宽度过大的图像。如果超出范围的文本,我想应用自动换行功能。

那么如何使用NSString的自动换行创建图像?

1 个答案:

答案 0 :(得分:2)

您需要在NSString上调用drawInRect:withAttributes:方法。