- (UIImage *)burnTextIntoImage:(NSString *)text :(UIImage *)myImage {
UIImage *myImage = [UIImage imageNamed:@"promoicon.png"];
UIGraphicsBeginImageContext(myImage.size);
[myImage drawInRect:CGRectMake(0,0,myImage.size.width,myImage.size.height)];
UITextView *myText = [[UITextView alloc] init];
myText.font = [UIFont fontWithName:@"TrebuchetMS-Bold" size:15.0f];
myText.textColor = [UIColor whiteColor];
myText.text = NSLocalizedString(@"My Text", @"");
myText.backgroundColor = [UIColor clearColor];
CGSize maximumLabelSize = CGSizeMake(myImage.size.width,myImage.size.height);
CGSize expectedLabelSize = [myText.text sizeWithFont:myText.font constrainedToSize:maximumLabelSize lineBreakMode:NSLineBreakByWordWrapping];
myText.frame = CGRectMake((myImage.size.width/2) - (expectedLabelSize.width/2),(myImage.size.height/2) - (expectedLabelSize.height/2),myImage.size.width,myImage.size.height);
[[UIColor whiteColor] set];
[myText.text drawInRect:myText.frame withFont:myText.font];
UIImage *myNewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return myNewImage; }
感谢您的回答,我把一个UILabel,但我有一个问题,当我在的UILabel写的文字是在不是在顶部的UILabel和盒子的中间写,我的文字改变一些时间1排一些时间2某时3我想开始写在盒子顶部的文字,我怎么能做到这一点? – Piero 2011-04-09 07:44:17
Unforutnately'UILabel'视图总是将其内容与中间对齐。为了覆盖此行为,您必须手动调整视图的大小。 [这里](http://www.waterworld.com.hk/en/blog/uilabel-align-top)是您需要的代码的快速片段。你可以通过谷歌搜索“UILabel垂直对齐”找到更多的帮助。 – FreeAsInBeer 2011-04-09 12:24:09