SORU
11 Ocak 2013, Cuma


String renk NSAttributedString ile değiştirmek?

Aşağıdaki dizeleri kaymak değerine göre görüntüleyen bir anket için bir kaydırıcı var: "Çok Kötü, Kötü, İyi, İyi, Çok İyi".

Burada kaymak için kod:

- (IBAction) sliderValueChanged:(UISlider *)sender {
    scanLabel.text = [NSString stringWithFormat:@" %.f", [sender value]];
    NSArray *texts=[NSArray arrayWithObjects:@"Very Bad", @"Bad", @"Okay", @"Good", @"Very Good", @"Very Good", nil];
    NSInteger sliderValue=[sender value]; //make the slider value in given range integer one.
    self.scanLabel.text=[texts objectAtIndex:sliderValue];
}

""" Turuncu, "sarı," İyi "ve" yeşil. olmak Çok İyi "İyi, Kötü, kırmızı, "Çok Kötü istiyorum

NSAttributedString Bu halletmek için nasıl kullanılacağını anlamıyorum.

CEVAP
11 Ocak 2013, Cuma


Böyle bir şey (işaretli derleyici Değil) kullanın

NSMutableAttributedString *string = [[NSMutableAttributedString alloc]initWithString:self.text.text];
NSRange range=[self.myLabel.text rangeOfString:texts[sliderValue]]; //myLabel is the outlet from where you will get the text, it can be same or different

NSArray *colors=@[[UIColor redColor],
                  [UIColor redColor],
                  [UIColor yellowColor],
                  [UIColor greenColor]
                 ];

[string addAttribute:NSForegroundColorAttributeName 
               value:colors[sliderValue] 
               range:range];           

[self.scanLabel setAttributedText:texts[sliderValue]];

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 3DS Max Tutorials

    3DS Max Tuto

    4 AĞUSTOS 2013
  • BuzzFeedVideo

    BuzzFeedVide

    10 AĞUSTOS 2011
  • Alexey - servant of Christ

    Alexey - ser

    15 EYLÜL 2007