0

我正在尝试加载图像并向其添加一些文本。我的文本在 a 中UILabel,我正在尝试将其添加到UIImage. 我可以添加文本,但我似乎无法将其调整为正确的大小。我正在尝试使用该功能label.adjustsFontSizeToFitWidth = YES;,但在大图像上,文本非常小。

-(UILabel *)xlabel{
    if (!xlabel) {
        xlabel = [[UILabel alloc] initWithFrame:self.setLablePosition];
        xlabel.backgroundColor = [UIColor redColor];
        xlabel.adjustsFontSizeToFitWidth = YES;
        xlabel.lineBreakMode = UILineBreakModeWordWrap;
        xlabel.numberOfLines = 0;
        xlabel.textAlignment = UITextAlignmentCenter;
    }
    return xlabel;
}

-(UIImage *) textToImage:(UIImage *) myImage{
    UIImage *watermarkedImage = nil;

    UIGraphicsBeginImageContext(appDelegate.theImg.size);
    [myImage drawAtPoint: CGPointZero];
   [self.xlabel drawTextInRect:CGRectMake(0.0, 0.0, appDelegate.theImg.size.width, appDelegate.theImg.size.height)];
    watermarkedImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();    
    return watermarkedImage;
}

谢谢你

4

1 回答 1

2

adjustsFontSizeToFitWidth只会减小字体的大小。我相信,默认情况下它会从 17 号字体开始,如果文本太长,则从那里开始缩小。

您可以尝试从更大的字体开始:

xlabel.font = [UIFont systemFontOfSize:25];

然后它会在较大的图像上更大,并在较小的图像上根据需要减小。

此外,adjustsFontSizeToFitWidth仅在numberOfLines设置为时有效1

看到这个:UILabel 文档

于 2012-06-18T20:51:52.453 回答