2011-05-08 51 views
1

我想绘制一个UIlabel到一个新的上下文,在一个特定的位置。我知道你可以很容易地将NSString绘制到上下文中,但是我想保留UILabel的文本大小,颜色和文字包装样式。谢谢你的帮助!如何绘制UILabel到上下文

UIGraphicsBeginImageContext(targetSize); 

// here is where I want to draw UILabel to context 

UIGraphicsEndImageContext(); 

回答

3

你可以借鉴任何视图using -renderInContext:,但如果你需要的只是保留了文字大小,颜色和换行风格,你可以简单地use -drawInRect:withFont:lineBreakMode:alignment:定制的所有选项。

[label.textColor set]; 
[label.text drawInRect:label.bounds 
       withFont:label.font 
     lineBreakMode:label.lineBreakMode 
      alignment:label.textAlignment]; 

也有在的UILabel a -drawTextInRect: method,但苹果说“你不应该直接调用此方法。”

+0

真棒的答案,我给它一个镜头,它的工作很好,除了它是在上下文(顶部的屏幕)上绘制的底部UILabel实际上。有什么想法吗?再次感谢你的帮助! – FierceMonkey 2011-05-09 02:51:31

+0

@Fierce:将'label.bounds'改为你喜欢的CGRect。 – kennytm 2011-05-09 06:52:15

+0

我知道这是很久以前,但我一直在努力寻找这样的答案很长一段时间。你知道如何在Swift中创建这个效果吗?我一直在试图翻译它,但无法弄清楚。 – martin 2015-02-15 14:32:12