2012-03-28 10 views
0

Ich habe einen Satz von UILabel s, die automatisch von meinem Controller generiert werden. Was ich möchte, ist in der Lage, einzelne Zeichen verschiedene Farben zu färben. Wie kann ich das erreichen?UILabel - Farbspezifische Zeichen

Antwort

2

Dies kann nicht mit einem UILabel durchgeführt werden. Das Objekt, das normalerweise verwendet wird, um Zeichenfolgen mit Formatierung zu verkapseln, ist NSAttributedString, aber sie können nicht von UILabel angezeigt werden.

Sie müssen stattdessen eine CATextLayer oder eine Anzahl von Drop-in-Ersatz für UILabel verwenden, die attributierte Strings akzeptieren. Weitere Informationen finden Sie in den Antworten auf this question.

0

Sie können eine UILabel mit verschiedenen Textfarben nicht machen. Sie können einem UILabel eine bestimmte Schriftart und eine bestimmte Hintergrundfarbe zuweisen. Aber Sie können eine Sache tun. Wie folgt.

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

Sorry, aber ich nicht folgen, was der Code tut, was es tun soll? – Chris