2010-07-08 7 views
7

यह शायद एक बहुत ही सरल सवाल है लेकिन मुझे एपीआई या किसी भी खोज इंजन में कुछ भी नहीं मिल रहा है।क्षणिक हैंडलर पर सेट किए गए UISegmented Contol

मेरे पास एक सेगमेंट नियंत्रण है जिसे मैंने क्षणिक रूप से सेट किया है क्योंकि उपयोगकर्ता एक कार के कुछ बनाने का चयन करेगा जिसे वे खोजना चाहते हैं। जिस मुद्दे में मैं दौड़ रहा हूं वह यह है कि मुझे यह पता लगाना प्रतीत नहीं होता कि किस सेगमेंट का चयन किया गया था। नियमित मोड में यह एक साधारण चयनित सेगमेंट = इंडेक्स है, लेकिन क्षणिक के साथ मेरी समझ यह है कि चयनित सेगमेंट हमेशा -1 होता है क्योंकि कोई भी कभी भी "चयनित"

मेरे पास वैल्यू चेंज के लिए हैंडलर है लेकिन मैं यह नहीं समझ सकता कि मैं ' मैं किस सेगमेंट का चयन किया गया था यह निर्धारित करने के लिए एम की जांच कर रहा हूं या मुझे क्या भेजना चाहिए। किसी भी तरह की सहायता का स्वागत किया जाएगा। मैं मोनोचच का उपयोग कर रहा हूं लेकिन ओब्जे-सी भी ठीक होगा।

धन्यवाद!

उत्तर

10

अपने हैंडलर में, आप selectedSegmentIndex जाँच निर्धारित करने के लिए कौन सा सेगमेंट में चुना गया था चाहिए:

- (void)valueChanged:(UISegmentedControl *) control { 
    switch([control selectedSegmentIndex]) { 
     case 0: 
     //... 
     break; 
     case 1: 
     //... 
     break; 
    } 
} 
+2

यह सही है। UISegmentedControl केवल * आखिरी * आइटम को ट्रैक करता है जिसे चुना गया था, नहीं * सभी * वर्तमान में चयनित आइटम। आपको वर्तमान में चयनित ऑब्जेक्ट को अपनी ऑब्जेक्ट में बनाए रखना होगा। –

+0

बहुत बढ़िया, मदद के लिए धन्यवाद! – Adam

+3

वाह, यह काम करता है। [ऐप्पल प्रलेखन] (http://developer.apple.com/library/ios/documentation/uikit/reference/UISegmentedControl_Class/Reference/UISegmentedControl.html#//apple_ref/occ/instp/UISegmentedControl/selectedSegmentIndex) यह इंगित करता है नहीं होगा। "UISegmentedControl इस संपत्ति को अनदेखा करता है जब नियंत्रण क्षणिक मोड में होता है।" लेकिन चयनित सेगमेंट इंडेक्स एक अच्छा मूल्य उत्पन्न करता है, इसलिए मेरे लिए काम करता है। –

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