2011-10-18 24 views
10

मेरे पास मेरे ऐप में एक सेटिंग दृश्य है जिसमें कुछ बटन हैं (वास्तव में UISwitches)। यदि स्विच में से एक पर "ऑफ" सेटिंग चुना जाता है, तो मैं तुरंत दूसरा स्विच छिपाना चाहता हूं। क्या यह किया जा सकता है?आईओएस/आईफोन- एक बटन छिपाते समय

उत्तर

29
IBOutlet UIButton *btn1; 
IBOutlet UIButton *btn2; 

अपनी .h फ़ाइल में उपरोक्त 2 पंक्तियां लिखें और XIB के साथ आउटलेट सेट करें।

अब एक विधि hideButton

-(IBAction)hideButton 
{ 
     btn1.hidden = YES; 
} 

XIB में btn2 के साथ इस विधि देते बुलाया पैदा करते हैं। तो अब जब आप btn2 पर क्लिक करते हैं तो यह btn1 छिपाएगा।

+0

बटन के बारे में बटन के बारे में कैसे सेट किया जाता है? – Umitk

3

आउटलेट के रूप में दो स्विच कनेक्ट करें। चलो स्विच 1 & स्विच 2 कहें।

इस फ़ंक्शन को वैल्यू चेंज एक्शन से कनेक्ट करें।

- (IBAction)mySwitch1:(id)sender { 
    [switch2 setHidden:!(switch1.isOn)]; 
} 

अब जब स्विच 1 चालू नहीं है तो स्विच 2 छुपाया जाएगा।

+0

कूल +1 बहुत कुछ प्रभावी अगर कथन +1 कुछ सीखा। – Wolfert

3

पहले स्विच में एक लक्ष्य जोड़ें जो मूल्य परिवर्तन पर दूसरे स्विच के उदाहरण को कॉल करता है और इसे छुपाता है।

लक्ष्य जोड़ें:

[switch1 addTarget:self action:@selector(switchToggled:) forControlEvents: UIControlEventValueChanged]; 

कॉल इस विधि:

- (void) switchToggled:(UISwitch*)switch { 
if ([switch isOn]) switch2.hidden = YES; 
else switch2.hidden = NO; 
} 

NJones अगर बयान में हालांकि अधिक प्रभावी है।