2012-03-28 130 views
0

我有一套由我的控制器自动生成的UILabel。我想要的是能够为不同颜色的个别字符着色。我怎样才能做到这一点?UILabel - 颜色特定字符

回答

2

这不能用UILabel完成。通常用于封装格式化字符串的对象是NSAttributedString,但它们不能通过UILabel显示。

您必须改为使用CATextLayer,或者接受属性字符串的UILabel的许多插入替换项之一。有关更多详细信息,请参阅this question的答案。

0

你不能使用不同的文字颜色UILabel。您可以为UILabel分配特定的字体和特定的背景颜色。但你可以做一件事。如下。

for(int i=0;i<5;i++){ 
     UILabel *label = [[UILabel alloc]init]; 
     label.tag = i; 
     [self.view addSubView:label]; 

    } 

    for(UIView *view in [self.view subViews]){ 
    if([view isKindOfClass[UILabel class]]){ 
    switch (view.tag){ 
    case 1: 

     view.textColor = [UIColor greenColor]; 
     view.frame = CGRectMake(0,y,37,10); 
     (UILabel*)view.text = @"Hello"; 
     [view sizeToFit]; 
     y=y+view.frame.size.width; 
     break; 
    case 2: 
     view.textColor = [UIColor redColor]; 
     view.frame = CGRectMake(0,y,37,10); 
     (UILabel*)view.text = @"World"; 
     [view sizeToFit]; 
     y=y+view.frame.size.width; 
     break; 

     // 
     // 
     } 
    } 
+0

对不起,但我没有按照代码做什么,这是什么意思? – Chris 2012-03-28 17:15:46