2011-04-07 89 views
0

我有一个包含字符串的核心数据模型,我希望当我选择表中的一行包含核心数据的字符串时,我在其他视图中看到在UIImage中打印的文本,我已经完成所有,我发现这种方法:http://iphonesdksnippets.com/post/2009/05/05/Add-text-to-image-%28UIImage%29.aspx,但是当我打印测试,他打印在(0,0)点的UIImageView的左下角角落,我如何可以打印中间的文字的图像,并自动证明文字?,因为图像是一个三角形,我希望文字留在三角形,我怎么能做到这一点?还是有另一种方法?...谢谢!添加文本到UIImageView

请帮我...

回答

0

它可能会更易于使用UIImageView和一个单独的`UILabel1显示文本。我想你会对定位有更多的控制。

+0

感谢您的回答,我把一个UILabel,但我有一个问题,当我在的UILabel写的文字是在不是在顶部的UILabel和盒子的中间写,我的文字改变一些时间1排一些时间2某时3我想开始写在盒子顶部的文字,我怎么能做到这一点? – Piero 2011-04-09 07:44:17

+0

Unforutnately'UILabel'视图总是将其内容与中间对齐。为了覆盖此行为,您必须手动调整视图的大小。 [这里](http://www.waterworld.com.hk/en/blog/uilabel-align-top)是您需要的代码的快速片段。你可以通过谷歌搜索“UILabel垂直对齐”找到更多的帮助。 – FreeAsInBeer 2011-04-09 12:24:09

0
- (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; }