2009-10-28 9 views
18

मेरे पास एक पिकर व्यू है जिसमें से चुनने के लिए संख्याओं की एक सूची है। मैं एक विशेष पंक्ति पर नियंत्रण शुरू करने में सक्षम होना चाहता हूँ। उदाहरण के लिए, यदि उपयोगकर्ता 10 को डिफ़ॉल्ट के रूप में निर्दिष्ट करता है, तो नियंत्रण पहली बार प्रारंभ होने पर उस पंक्ति पर स्वचालित रूप से स्थित होना चाहिए।आईफोन एसडीके: यूआईपीकर व्यू के प्रारंभिक मूल्य को कैसे सेट करें?

अग्रिम धन्यवाद।

उत्तर

55

आप selectRow:inComponent:animated: पर कॉल करें और इसे जिस पंक्ति को आप चाहते हैं उसे इंडेक्स पास करें।

इस कोड को 0 से 60 के अपने नंबर के माध्यम से स्पिन करने के लिए एक UIPickerView का कारण बनता है 0.

- (void)viewDidAppear:(BOOL)animated { 

    [thePicker selectRow:60 inComponent:0 animated:YES]; 
    [thePicker reloadComponent:0]; 
    [thePicker selectRow:60 inComponent:1 animated:YES]; 
    [thePicker reloadComponent:1]; 
    [thePicker selectRow:0 inComponent:0 animated:YES]; 
    [thePicker reloadComponent:0]; 
    [thePicker selectRow:0 inComponent:1 animated:YES]; 
    [thePicker reloadComponent:1]; 
} 

पर आराम करने के लिए आपके मामले में, पंक्ति दस प्रदर्शित करने के लिए आ रहा है आप की तरह कुछ कहेंगे से पहले:

[thePicker selectRow:10 inComponent:0 animated:YES]; 
+0

यह काम नहीं कर रहा जैसा सोचा था। मैंने इस कोड को नियंत्रक के लिएडिडलोड में रखा है। सुनिश्चित नहीं है क्यों? [tipPicker selectRow: 5 incomponent: 0 एनिमेटेड: हाँ]; –

+0

आईबी मुद्दे को ठीक करने के बाद समाधान ने काम किया। –

+0

अच्छा डेमो। धन्यवाद। –

0

पंक्ति चुनने के बजाय आप क्या कर सकते हैं, पिकर्विव को वह मान ढूंढना है जो आप चाहते हैं। जिस तरह से एक पाश पैदा कर रही है सरणी में यह पता लगाने के लिए और चयन:

- (void)viewDidAppear:(BOOL)animated{  
    int i = 0; 
    for(NSString* number in arrayName) 
    { 
     if ([stringValue isEqualToString:number]){ 
      [pickerViewName selectRow:i inComponent:0 animated:YES ]; 
     } 
     i++; 
    } 
} 
0

आप UIPickerView

[self.text_field setInputView:self.picker]; 

साथ UITextField उपयोग कर रहे हैं तो इसका उपयोग करें:

self.text_field.text = [_myarray objectAtIndex:10]; 
संबंधित मुद्दे