2012-10-17 12 views
5

Jak mogę dostosować/zmienić kolor dla wybranych segmentowanych w segmencie formantów? Próbowałem użyć metody dostępnej pod adresem UISegmentedControl selected segment color. To działało idealnie z iOS 5 i niższym, ale nie dla iOS 6. Każda pomoc jest doceniana.dostosuj kolor dla wybranych segmentowanych w segmentowanym formancie

Zasadniczo szukam zmiany koloru dla wybranego segmentu na jakiś jasny kolor, tak aby zaznaczone/niewybrane segmenty były wyraźnie widoczne.

Odpowiedz

3

Można zastąpić podklasę danego widoku, a następnie zastąpić jego metodę drawRect(), aby uzyskać niestandardowy wygląd na ekranie.

+0

Dzięki, zadziałało. – user1140780

4

Zastosowaliśmy podejście wspomniane przez siddarth.

Podklasa segmentowanego kontrolera i przesłonięcie metody drawrect(). Coś takiego:

- (void)drawRect:(CGRect)rect 
{ 
[super drawRect:rect]; 

for (int i=0; i<[self.subviews count]; i++) 
{ 
    if ([[self.subviews objectAtIndex:i]isSelected]) 
    { 
     UIColor *tintcolor=[UIColor redColor]; 
     [[self.subviews objectAtIndex:i] setTintColor:tintcolor]; 
    } else { 
     UIColor *tintcolor=[UIColor grayColor]; // default color 
     [[self.subviews objectAtIndex:i] setTintColor:tintcolor]; 
    } 
    } 

} 
Powiązane problemy