У меня есть UIToolbar
, который я добавляю как inputAccessoryView
к трем UITextFields
с цифровыми клавиатурами. На этом UIToolbar
У меня есть отмена и сделанная кнопка, чтобы отклонить клавиатуру в соответствии с этим сообщением: trying to add done button to Numeric keyboard. Это отлично подходит для одного UITextField
, который можно легко идентифицировать. Тем не менее, я пытаюсь использовать тот же код для трех UITextFields
. Вот что у меня есть:Использование inputAccessoryView UIToolbar для нескольких UITextField's
- (void) viewDidLoad
{
[super viewDidLoad];
// weight, numberOfDrinks, and drinkingDuration are UITextFields set up in Storyboard.
// I implemented the UITextFieldDelegate protocol in the .h file and set the UITextField's delegates to the owning ViewController in Storyboard.
self.weight.delegate = self;
self.numberOfDrinks.delegate = self;
self.drinkingDuration.delegate = self;
}
- (void) textFieldDidBeginEditing:(UITextField *)textField {
UIToolbar *doneToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
doneToolbar.barStyle = UIBarStyleBlackTranslucent;
// I can't pass the textField as a parameter into an @selector
doneToolbar.items = [NSArray arrayWithObjects:
[[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(cancelKeyboard:)],
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
[[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneWithKeyboard:)],
nil];
[doneToolbar sizeToFit];
textField.inputAccessoryView = doneToolbar;
}
- (void) cancelKeyboard: (UITextField *) textField {
textField.text = @"";
[textField resignFirstResponder];
}
- (void) doneWithKeyboard: (UITextField *) textField {
[textField resignFirstResponder];
}
я получаю «непризнанный селектор отправляется, например» ошибки, потому что методы cancelKeyboard и doneWithKeyboard не передается параметр TextField им нужно. Любые идеи, как реализовать это правильно?
Спасибо!
Бен
Это именно то, что я искал - спасибо ! –