2009-11-12 11 views
14

मैं अपने ऐप में स्विच तत्व बनाने के लिए आईओएस 3 में UISwitch का उपयोग कर रहा हूं। इसमें नीले रंग के डिफ़ॉल्ट रंग सेट हैं, लेकिन मैं अपना रंग ब्राउन में बदलना चाहता हूं (कुछ ग़लत अफवाहों को छोड़कर Google के माध्यम से कोई सुराग नहीं मिला)।आईफोन ऐप में स्विच का रंग बदलें

मैं आईओएस 3 में UISwitch तत्व के लिए एक अलग रंग कैसे चुन सकता हूं?

उत्तर

-8

आपको एक अनियंत्रित सुविधा here का उपयोग कर उत्तर मिलेगा। जैसा कि नोट किया गया है कि रंग बदलने के कारण आपका ऐप खारिज हो सकता है।

यह एक तरह से इस के साथ शुरू होता:

UISwitch *aSwitch = [[UISwitch alloc] initWithFrame:someRectangle]; 
[aSwitch setAlternateColors:YES]; 
//Do something with aSwitch 
[aSwitch release]; 
+0

यह समाधान किसी एंटरप्राइज़ एप्लिकेशन के लिए ठीक है। हालांकि, अब आईओएस 5 टिंट रंग का समर्थन करता है, क्या यह स्वीकार्य उत्तर नहीं होना चाहिए? –

1

कस्टम UISwitch नियंत्रण है कि मैं मेरे नियंत्रण की पृष्ठभूमि का रंग बदलने के लिए अनुमति देने के लिए बनाया पर एक नजर डालें। टेक्स्ट, फ़ॉन्ट या टेक्स्ट रंग को आसानी से बदलने के लिए आप उसी विधि का उपयोग कर सकते हैं।

http://www.homick.com/posts/custom-uiswitch-control

कोड Github पर उपलब्ध है और एक PSD कि तीन अलग-अलग PNG फ़ाइलें है कि नियंत्रण का उपयोग करता है के निर्माण के लिए प्रयोग किया जाता है शामिल हैं। आप जो भी प्रारूप चाहते हैं उसमें पीएनजी फाइलों को फिर से बनाने के लिए पीएसडी की सामग्री को संशोधित कर सकते हैं। नियंत्रण में उन्हें स्वैप करें और दूर जाओ।

यह नारंगी और नीले रंग की तुलना में बहुत अधिक विकल्प देता है।

41

अंत में, आईओएस 5 के साथ आप संपत्ति onTintColor के साथ स्विच का रंग बदल सकते हैं।

UISwitch *s = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; 
s.on = YES; 
s.onTintColor = [UIColor redColor]; 
[self.view addSubview:s]; 
[s release]; 

उत्पादन इस

enter image description here

मैं इस मदद भले ही वह बहुत समय पहले है आशा!

+2

@ अंकितसाचन: सामुदायिक नियमों के अनुसार, आपको इस प्रश्न को स्वीकार करने के रूप में चिह्नित करना चाहिए, अगर यह आपके लिए काम करता है।मेरे और कई अन्य लोगों के लिए यह एक कामकाजी समाधान है। – Ans

+0

@Fry आपने आईओएस 7+ से "I" – kozla13

+0

@ kozla13 कैसे सेट किया है यह सेटिंग में कॉन्फ़िगरेशन है। – Fry

2

वर्तमान में आप यूआईएसविच के लिए ऑन/ऑफ या 0/1 के टेक्स्ट मानों तक ही सीमित हैं। आप टिंट का उपयोग कर रंग को कस्टमाइज़ कर सकते हैं। आगे के अनुकूलन के लिए मैं एक पूरी तरह से कस्टम समाधान

पूर्व के साथ ऊपर पोस्ट किए गए कुछ सुझावों का सुझाव दूंगा। [mySwitch setOnTintColor:[UIColor colorWithRed:0 green:175.0/255.0 blue:176.0/255.0 alpha:1.0]];

स्रोत: http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5

संपादित करें: iOS3 के लिए, आप एक कस्टम implimentation तक सीमित हैं, मैं कस्टम छवियों के साथ दो बटन अदला-बदली सुझाव है। बाद में आईओएस संस्करणों में आपको अधिक नियंत्रण दिया गया है और अनुकूलन विकल्पों में बनाया गया है।

1

स्विफ्ट 3 के लिए: AppDelegate application:didFinishLaunchingWithOptions: पद्धति के तहत

UISwitch.appearance().onTintColor = UIColor.brown 

:

var mySwitch : UISwitch = ... 
mySwitch.onTintColor = UIColor.blue 
+1

मुझे लगता है कि आपका मतलब स्विफ्ट 3. (बहुत कम वर्णों के कारण संपादित नहीं किया जा सकता है) – Rags93

1

स्विफ्ट 3 में सभी UISwitch तत्वों के लिए एक वैश्विक बदलाव के लिए, उपस्थिति प्रॉक्सी का उपयोग करें।

संबंधित मुद्दे