Добавить кнопку «Готово» на панели инструментов для средства выбора

Я пытаюсь добавить кнопку Готово в верхней части средства выбора следующим образом. Но, к сожалению, я не смог увидеть кнопку Готово.

UIBarButtonItem *doneButton = [[UIBarButtonItem alloc]
                                   initWithTitle:@"Done" style:UIBarButtonItemStyleDone
                                   target:self action:@selector(done)];
UIToolbar *toolBar = [[UIToolbar alloc]initWithFrame:
                          CGRectMake(0, self.view.frame.size.height-
                                     picker.frame.size.height-250, self.view.frame.size.width, 50)];
[toolBar setBarStyle:UIBarStyleBlackOpaque];
NSArray *toolbarItems = [NSArray arrayWithObjects:
                             doneButton, nil];
[toolBar setItems:toolbarItems];
categoryTF.inputView = picker;

person casillas    schedule 02.01.2017    source источник


Ответы (3)


Вы забыли добавить панель инструментов в представление. Вы можете сделать это следующим образом:

[self.view addSubview:toolBar];
person Bryan Yuan    schedule 03.01.2017

добавьте эту строку:

categoryTF.inputAccessoryView = toolBar;

person Dikula    schedule 03.01.2017

Используйте панель инструментов и кнопку «Готово» для pickerView

CGRect pickerFrame = CGRectMake(0,kSCREEN_HEIGHT-200,kSCREEN_WIDTH,200);
UIPickerView * pickerview = [[UIPickerView alloc] initWithFrame:pickerFrame];
pickerview.delegate = self; 
pickerview.dataSource = self;      
textField.inputView=pickerview;

UIToolbar *myToolbar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, kSCREEN_WIDTH, 56)];
myToolbar.barStyle=UIBarStyleBlack;
[myToolbar sizeToFit];
myToolbar.backgroundColor=[UIColor whiteColor];
NSMutableArray *barItems=[[NSMutableArray alloc]init];
UIBarButtonItem *btnItem=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
[barItems addObject:btnItem];
UIBarButtonItem *doneBtn=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(pickerDoneClicked)];
[barItems addObject:doneBtn];
[myToolbar setItems:barItems animated:YES];
myToolbar.barStyle = UIBarButtonItemStylePlain;
myToolbar.barTintColor = [UIColor colorWithRed:0.94f green:0.94f blue:0.96f alpha:1.0f];
myToolbar.tintColor=[UIColor blackColor];
txtField.inputAccessoryView=myToolbar;

-(void)pickerDoneClicked
{  
[txtField resignFirstResponder];
}
person Lalit kumar    schedule 03.01.2017