2009-12-12 10 views
12

चयनित बटन पर आमतौर पर UISegmentedControl पर दिखाया गया टिंट तब दिखाई नहीं दे रहा है जब मैंने पूरे नेविगेशन बार को काला (self.navigationController.navigationBar.tintColor = [UIColor blackColor];) पर सेट किया है।UISegmentedControl चयनित टिंट नहीं दिखा रहा

क्या यह एक बग या कुछ है जो मुझे याद आ रही है?

उत्तर

60

आदेश में टिंट रंग दिखाने के लिए, वहाँ आवश्यकताओं के एक जोड़े हैं।

आप यह भी उल्लेख करते हैं कि आपके पास tintColor[UIColor blackColor] पर सेट है। दुर्भाग्यवश, UISegmentedControl हमेशा चयनित सेगमेंट को गहरा रंग, कभी हल्का नहीं दिखाएगा। अपने tintColor को [UIColor darkGrayColor] पर सेट करने का प्रयास करें और आपको चयनित सेगमेंट चेंज रंग देखने में सक्षम होना चाहिए।

2

क्या आपने विभाजित नियंत्रण पर टिंट को अलग से सेट करने का प्रयास किया है?

segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 

यह tintColor काम करने के लिए आवश्यक है:

segmentedControl.tintColor = self.navigationController.navigationBar.tintColor; 
2

टिंट रंग [UIColor colorWithWhite:80.0/255.0 alpha:1.0] का उपयोग करने का प्रयास करें। इससे काला रंग कम काला हो जाता है और चयनित सेगमेंट चयन के बाद गहरा हो जाता है। आप सफेद घटक को उपयुक्त के रूप में सेट कर सकते हैं।

नमूना कोड:

UISegmentedControl *aSegmentedControl = [[UISegmentedControl alloc] initWithItems:arrItems]; 
aSegmentedControl.frame = CGRectMake(55, 382, 210, 32); 
aSegmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 
aSegmentedControl.selectedSegmentIndex = 0; 
aSegmentedControl.tintColor = [UIColor colorWithWhite:80.0/255.0 alpha:1.0]; 
2

iphone 3.0 पर, आप एक navigationController में सेगमेंट किए गए नियंत्रण जोड़ने चाहते हैं, जो सबसे पहले करते हैं और tintcolor परिवर्तित करने के बाद यू ने ऐसा ही किया।

+0

यह सहायक है, लेकिन मेरे मामले में मैं सेविंग नियंत्रण को नेविटम में डीडलोड में देख रहा था और फिर तुरंत रंग रंग सेट कर रहा था। मैंने पाया कि मुझे टिलकॉलर सेट को विल्लएपियर देखने के लिए जाना था और फिर अंत में काम किया। – Jason

1

सेगमेंटेड कंट्रोल स्टाइल को बार में या एट्रिब्यूट इंस्पेक्टर में बेज़ेल में बदलें। बस इतना ही।

2

यदि आप नेविगेशन बार पर अलग-अलग रंग रंग देख रहे हैं, तो आप अपने uisegmentedcontrol पर क्षणिक संपत्ति का भी उपयोग करना चाह सकते हैं।

segmentedControl.momentary=YES;

यह नियंत्रण से प्रकाश डाला रंग साफ करता है।