1

I have some text in textField on view load.I want that particular text to be set as default value of UIPickerView ..The value in textField is one of the value of UIPickerView..How can I make it possible.For the code I m writing now is always first value is selected as default value in UIPickerView.But I want the text of textField to be set as default value in PickerView.

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 

    txtstate.text= [[arr objectAtIndex:row] valueForKey:@"Code"]; 
} 

How can I do it ?

Honey
  • 2,840
  • 11
  • 37
  • 71

1 Answers1

2
uint selectedRow = [pickerView selectedRowInComponent:0];
NSString *title = [[pickerView delegate] pickerView:myPickerView titleForRow:selectedRow inComponent:0];

If you have more than a single component, adjust accordingly.

jimpic
  • 5,360
  • 2
  • 28
  • 37
  • Can u please tell me briefly where should I add this bcoz i m new to xcode.and I have added this when adding a pickerView .But I got error "Program received Signal SIGABRT"..I want the UITextField's text to be set as default when I load a PickerView..How can i do it ? – Honey Nov 14 '12 at 09:46
  • add this to viewDidLoad or viewWillAppear, whatever fits best. – jimpic Nov 14 '12 at 09:54
  • 1
    No actually my UIPickerView will load(appear)when I select a textfield.UITextField already will have some data.Now when I touch UItextField then UIPickerView will load with the first value as selected.I want the UIPickerView's selected value to be the textfield text when I touch textField because my textfield has value which is one of the value of UIPickerView – Honey Nov 14 '12 at 09:59
  • well then add the code to your textField's "Editing Did Begin" event. – jimpic Nov 14 '12 at 10:01
  • - (BOOL)textFieldDidBeginEditing:(UITextField *)textField { if( textField == txtstate) { [txtstate resignFirstResponder]; pickerView = [[UIPickerView alloc]init] ; pickerView.frame=CGRectMake(88, 400, 250, pickerView.frame.size.height); pickerView.delegate = self; pickerView.showsSelectionIndicator = YES;uint selectedRow = [pickerView selectedRowInComponent:0]; NSString *title = [[pickerView delegate] pickerView:pickerView titleForRow:selectedRow inComponent:0]; [self.view addSubview:pickerView];//error } }Did like this.but got error – Honey Nov 14 '12 at 10:03