i want to add done button in uipicker view in order to get selected value of picker view in text field i had tried below code but it is not working. when i create barbutton name' Done' and perform self action on it, that function is not triggering below are my code kindly please review it. Thanx in advance.
- (IBAction)selectbtn:(id)sender {
pickerview = [[UIPickerView alloc] initWithFrame:CGRectMake(5, 40, 300, 300)];
pickerview.showsSelectionIndicator = YES;
pickerview.hidden = NO;
pickerview.delegate = self;
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
toolBar.barStyle = UIBarStyleBlackOpaque;
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneTouched:)];
[toolBar setItems:[NSArray arrayWithObjects:doneButton, nil]];
self.Textbox.inputAccessoryView=toolBar;
[pickerview addSubview:toolBar];
[self.view addSubview:pickerview];
}
- (void)doneTouched:(UIBarButtonItem *)sender // this function is not triggering
{
// hide the picker view
[self.Textbox resignFirstResponder]; //
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return self.jsonresultarr.count;
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
// return [[self.jsonresultarr objectAtIndex:row] objectForKey:@"Company_Id"];
// NSObject *companyId = [[self.jsonresultarr objectAtIndex:row] objectForKey:@"Company_Id"];
NSObject *companyName = [[self.jsonresultarr objectAtIndex:row] objectForKey:@"Company_Name"];
return [NSString stringWithFormat:@"%@", companyName, nil];
}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
self.Textbox.text=[[self.jsonresultarr objectAtIndex:row] objectForKey:@"Company_Name"];
[self.pickerview removeFromSuperview];
}
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneTouched)];
[toolBar setItems:[NSArray arrayWithObjects:doneButton, nil]];
self.Textbox.inputAccessoryView=toolBar;
- (void)doneTouched
{
NSLog (@"result");
[self.Textbox resignFirstResponder];
}