Я создал UIPickerView с проделанной кнопкой на панели инструментов. Я хотел бы сделать следующее:Добавить выделение UIPickerView в TextField только при нажатии кнопки «Готово»
Пользователь выбирает категорию в UIPickerView и затем нажимает кнопку «done». Результат должен состоять в том, что UIPickerView и панель инструментов исчезают, и TextField Category обновляется с выбором пользователя. У меня почти все правильно. PickerView и панель инструментов исчезают, когда нажата кнопка done. Но текстовое поле обновляется еще до того, как я нажму кнопку. Но я хочу, чтобы текстовое поле обновлялось только при нажатии кнопки done.
Может ли кто-нибудь указать мне в правильном направлении, где у меня есть ошибка? Благодаря
, что код, который я использовал:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
//disable saveButton
[_saveButton setEnabled:NO];
[self.picker removeFromSuperview];
[self.pickerToolbar removeFromSuperview];
//Initialize Data
_pickerData = @[@"Item 1", @"Item 2", @"Item 3", @"Item 4"];
//Connect Data
self.picker.dataSource = self;
self.picker.delegate = self;
_textFieldCategory.inputView = _picker;
_textFieldCategory.inputAccessoryView = _pickerToolbar;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
// The number of columns of data
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
// The number of rows of data
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return _pickerData.count;
}
// The data to return for the row and component (column) that's being passed in
- (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return _pickerData[row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
self.textFieldCategory.text = _pickerData[row];
}
- (IBAction)doneButtonTapped:(id)sender
{
[self.picker removeFromSuperview];
[self.pickerToolbar removeFromSuperview];
Спасибо Крис. Это сработало как шарм !!! – mjbn
@mjbn Отметьте ответ как правильно, тогда :) – Thomas
Сделано! извините, система сказала мне, что мне нужно подождать 3 минуты, прежде чем я смогу проверить это! – mjbn