2010-10-27 7 views
0

J'utilise ci-dessous le code pour le changement textcolor de chaque segmentée dans UISegmentedcontrol comment puis-je changer textcolor du segment spécifique? (Pour le segment exemple à l'index 2)Changement textColor dans UISegmentedcontrol

for (id seg in [segment subviews]) 
    for (id label in [seg subviews]) 
     if ([label isKindOfClass:[UILabel class]]) 
       [label setTextColor:[UIColor redColor]]; 

Répondre

2

i utiliser le code ci-dessous pour ce problème

int eg=0; 
    for (id seg in [sg subviews]) 
    { 
     int gg=sg.selectedSegmentIndex; 
     if(gg==2) 
      gg=0; 
     else if(gg==0) 
      gg=2; 
     if(eg==gg && eg!=1) 
     { 
      for (id label in [seg subviews]) 
       if ([label isKindOfClass:[UILabel class]]) 
       { 
        [label setTextAlignment:UITextAlignmentCenter]; 
        [label setFont:[UIFont boldSystemFontOfSize:12]]; 
        [label setTextColor:[UIColor colorWithRed:0.325 green:0.565 blue:0.788 alpha:1]]; 
       }//if 
     }//if 
     else if(eg==1) 
     { 
      for (id label in [seg subviews]) 
       if ([label isKindOfClass:[UILabel class]]) 
       { 
        [label setTextAlignment:UITextAlignmentCenter]; 
        [label setFont:[UIFont boldSystemFontOfSize:11]]; 
        [label setTextColor:[UIColor grayColor]]; 
       }//if 
     }//else if 
     else 
     { 
      for (id label in [seg subviews]) 
       if ([label isKindOfClass:[UILabel class]]) 
       { 
        [label setTextAlignment:UITextAlignmentCenter]; 
        [label setFont:[UIFont boldSystemFontOfSize:11]]; 
        [label setTextColor:[UIColor colorWithRed:0.888 green:0.888 blue:0.888 alpha:1]]; 
       }//if 
     }//else 
     eg++; 
    }//for 
+1

ne fonctionne pas pour moi maintenant (iOS 4.3) – Rodrigo

0

Pour autant que je sais qu'il ya pas de solution basée sur la personnalisation pour cela. Mais vous pouvez soit utiliser des images pour les segments nécessaires (setImage:forSegmentAtIndex:) ou regarder ceci: http://matteocaldari.it/2010/05/a-uisegmentedcontrol-with-custom-color (les auteurs ont sous-classé UISegmentedControl & mis en œuvre dessin personnalisé dans la méthode override drawRect:).