2010-06-20 8 views
19

मैं एक UIButton जो मैं आईबी में जोड़ दिया है है, लेकिन इस बटन के पीछे दृश्य रंग बदल जाता है और मैं InfoDark और InfoLight के बीच बटन प्रकार स्विच करना होगा। विचित्र रूप से हालांकि, buttonType संपत्ति केवल पढ़ी जाती है। तो मैं प्रकाश और अंधेरे जानकारी बटन के बीच कैसे स्विच कर सकता हूं?सेट UIButton के buttonType प्रोग्राम के रूप में

+0

यह कोई डुप्लिकेट नहीं है। यह प्रश्न तत्काल होने के बाद बटन प्रकार को बदलने के बारे में है। संदर्भित प्रश्न कोड में बटन को तुरंत चालू करने के बारे में है। कृपया डुप्लिकेशन हटा दें। – osxdirk

उत्तर

23

.buttonType को सेट करने के बाद इसे बदलने का कोई तरीका नहीं है।

आप दो बटन तैयार कर सकते हैं, और पृष्ठभूमि रंग के आधार पर उनमें से एक को छुपा सकते हैं।

+0

अच्छी तरह से एक निजी सेटर विधि है, क्यों ऐसा कुछ निजी है जो जानता है। आपके लिए धन्यवाद 2 बटन के बारे में, मैं यही करूँगा। –

+0

@ जोन: यह निजी है क्योंकि यह सेटिंग * एक अंधेरे जानकारी बटन को एक प्रकाश में परिवर्तित नहीं करेगा। – kennytm

51

आप buttonType केवल पढ़ने के लिए गुण सेट नहीं कर सकते हैं, मदद कर सकते हैं नीचे का उपयोग करें:

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; 
+0

धन्यवाद, उसने मेरी मदद की। – James

+9

जब आप UIButton क्लास को ओवरराइड करते हैं तो क्या होता है? (मेरा मतलब है सबक्लास) –

+0

तेज़ी से, यदि आप custome क्लास का उपयोग कर रहे हैं, तो बटन = MyCustomeClass.init (टाइप: .custom) –