2012-10-17 34 views
5

सेगमेंट किए गए नियंत्रण में चयनित सेगमेंट के लिए मैं रंग को कैसे अनुकूलित/बदल सकता हूं? मैंने UISegmentedControl selected segment color पर उपलब्ध विधि का उपयोग करने की कोशिश की। यह आईओएस 5 और नीचे के साथ पूरी तरह से काम किया लेकिन आईओएस 6 के लिए नहीं। किसी भी मदद की सराहना की है।खंडित नियंत्रण में चयनित सेगमेंट के लिए रंग अनुकूलित करें

असल में मैं चयनित सेगमेंट के लिए रंग को कुछ उज्ज्वल रंग में बदलना चाहता हूं ताकि चयनित/अचयनित खंड स्पष्ट रूप से दिखाई दे सकें।

उत्तर

3

आप उस विशेष दृश्य के उप-वर्ग को ओवरराइड कर सकते हैं और फिर स्क्रीन पर अपनी कस्टम उपस्थिति के लिए अपनी drawRect() विधि को ओवरराइड कर सकते हैं।

+0

धन्यवाद, यह काम किया। – user1140780

4

हमने सिद्धार्थ द्वारा वर्णित दृष्टिकोण का उपयोग किया।

खंडित नियंत्रक को उपclass और सही() विधि को ओवरराइड करना। कुछ इस तरह:

- (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]; 
    } 
    } 

}