Je crée une vue sélecteur qui s'affiche lorsque l'utilisateur appuie sur un champ de texte. Cela fonctionne très bien. Mais je veux ignorer la vue du sélecteur lorsque l'utilisateur appuie sur le bouton Terminé. Ceci est mon code à ce jour:Quitter UIPickerView lorsque vous appuyez sur le bouton Terminé
- (void)showPickerWithDoneButton:(UITextField *)sender
{
UITextField *textField = sender;
// Creamos UIPickerView como una vista personalizada de un keyboard View
UIPickerView *pickerView = [[UIPickerView alloc] init];
[pickerView sizeToFit];
pickerView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
pickerView.delegate = self;
pickerView.dataSource = self;
pickerView.showsSelectionIndicator = YES;
//UIPickerView
//Asignamos el pickerview al inputView de nuestro texfield
self.tipos_auto.inputView = pickerView;
// Preparamos el botón
UIToolbar* keyboardDoneButtonView = [[UIToolbar alloc] init];
keyboardDoneButtonView.barStyle = UIBarStyleDefault;
keyboardDoneButtonView.translucent = YES;
keyboardDoneButtonView.tintColor = nil;
[keyboardDoneButtonView sizeToFit];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle: NSLocalizedString(@"Aceptar", @"Button") style:UIBarButtonItemStyleBordered target:self action:@selector(pickerHechoClicked:)];
doneButton.tintColor = [UIColor blackColor];
//Para ponerlo a la derecha del todo voy a crear un botón de tipo Fixed Space
UIBarButtonItem *fixedSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
fixedSpace.width = keyboardDoneButtonView.frame.size.width - 150;
[keyboardDoneButtonView setItems:[NSArray arrayWithObjects:fixedSpace, doneButton, nil]];
// Finalmente colocamos la keyboardDoneButtonView en el text field...
textField.inputAccessoryView = keyboardDoneButtonView;
}
Et ceci est la méthode qui devrait rejeter le point de vue du sélecteur:
-(void) pickerHechoClicked :(id)sender{
[sender resignFirstResponder];
}
Mais après avoir tapé sur le bouton des application se bloque avec l'erreur suivante:
** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIBarButtonItem resignFirstResponder]: unrecognized selector sent to instance
Toute aide est la bienvenue.
Joli conseil, merci. Ca marche bien – user4619034
Ah, je ne connais pas cette fonction de UIView. Agréable! –