Я начал с того же блога, который вы упомянули выше.Я столкнулся с той же самой проблемой, потому что у меня было несколько типов клавиатуры во всем приложении.
Мое решение включало следующие изменения:
1 - сделать UIButton * doneButton переменной-членом для класса Controller
2 - В методе "viewDidLoad" у меня есть следующий фрагмент
self.doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
doneButton.frame = CGRectMake(0, 163, 106, 53);
doneButton.adjustsImageWhenHighlighted = NO;
[doneButton setImage:[UIImage imageNamed:@"DoneUp.png"] forState:UIControlStateNormal];
[doneButton setImage:[UIImage imageNamed:@"DoneDown.png"] forState:UIControlStateHighlighted];
[doneButton addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside];
3 - В IBAction "doneButton" у меня есть следующий фрагмент, чтобы убедиться, что кнопка удалена изпредставление клавиатуры.
- (IBAction) doneButton:(id)sender {
[self.view endEditing:YES];
[doneButton removeFromSuperview];
}
Логика добавления кнопки ничем не отличается от описания в блоге, поэтому до тех пор, пока вы следуете этому направлению, вы должны увидеть кнопку на цифровой клавиатуре, а затем удалить ее, когдаВы нажимаете кнопку «Готово».