UILabel - 颜色特定字符

时间:2012-03-28 16:26:31

标签: iphone objective-c uilabel

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

2 个答案:

答案 0 :(得分:2)

使用UILabel无法做到这一点。通常用于封装带格式的字符串的对象是NSAttributedString,但UILabel无法显示它们。

您必须使用CATextLayer代替UILabel替换属性字符串的多个替代品之一。有关详细信息,请参阅this question的答案。

答案 1 :(得分: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;

      //
      //
      }
  }