2016-04-07 17 views
-1

'daki devre dışı bırakma parçasının renk tonunu değiştirme UISegmentedControl'deki devre dışı bırakma segmentinin renk tonu nasıl değiştirilir. segmentedControl.subviews sıralamak için çözüm aldım, aşağıda hızlı kod, lütfen nesnel c'ye dönüştürün.UISegmentedControl

@IBAction func indexChanged(sender: UISegmentedControl) { 

let sortedViews = sender.subviews.sort({ $0.frame.origin.x < $1.frame.origin.x }) 

for (index, view) in sortedViews.enumerate() { 
    if index == sender.selectedSegmentIndex { 
     view.tintColor = UIColor.blueColor() 
    } else { 
     view.tintColor = UIColor.lightGrayColor() 
    } 
} 

} 

let sortedViews = segmentedControlOutletVariable.subviews.sort({ $0.frame.origin.x < $1.frame.origin.x }) 
sortedViews[0].tintColor = UIColor.blueColor() 

cevap

1

Kontrol Aşağıdaki kod:.

1.It seçilen segmente yeşil rengi atar (segment-2) Seçilen ancak olanlara

2.Assigns mavi renk özellikli (segment-1 ve 3). . Devre dışı kesimleri için

3.Assigns açıkGri renk (segment-4)

-(IBAction)segmentedTapped:(UISegmentedControl*)sender{ 

for(int i=0;i<[sender.subviews count];i++) 
{ 
    if ([[sender.subviews objectAtIndex:i]isEnabled]) 
    { 


     if([[sender.subviews objectAtIndex:i]isSelected]) 
     { 
      UIColor *tintcolor=[UIColor greenColor]; 
      [[sender.subviews objectAtIndex:i] setTintColor:tintcolor]; //sets green color for selected segment which is enabled 
     } 
     else 
     { 
      [[sender.subviews objectAtIndex:i] setTintColor:[UIColor blueColor]]; //sets blue colour for remaining segments which are enabled but not selected. 

     } 
    } 
    else 
    { 
     [[sender.subviews objectAtIndex:i] setTintColor:[UIColor lightGrayColor]];//sets ight gray for disabled segment. 
    } 
} 
} 

sonuç olacaktır: enter image description here

Eğer buradan alabilirsiniz fazla bilgi istiyorsanız:

UISegmentedControl selected segment color

+0

Aslında, devre dışı bırakılan bölümün renk tonunu değiştirmek istiyorum .. lütfen yardım –

+0

segmentcontrol alt gösterimleri dizi dizinleri nasıl sıralanır? –

+0

@jasonfrank: Kodum açık griden devre dışı bırakılacak segmente atandı. İstediğiniz rengi burada ayarlayabilirsiniz. –

İlgili konular