У меня есть специальная клавиатура, которую я использую для редактирования текста в mytextField
, и она отлично работает. Однако я никогда не могу заставить делегат shouldChangeCharactersInRange
выполнить с моей настраиваемой клавиатуры. Он выполняется, когда я использую свою фактическую клавиатуру (очевидно, не клавиатуру iPhone по умолчанию, поскольку я установил mytextField.inputView = numberPad.view). Что мне делать, чтобы делегат shouldCharactersInRange
сработал с использованием настраиваемой клавиатуры? Кстати, настраиваемая клавиатура - это просто набор кнопок.
- (void) numberPadPressed: (UIButton *)sender {
[mytextField insertText:[[NSNumber numberWithInt:sender.tag] stringValue]];
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *resultingString = [textField.text stringByReplacingCharactersInRange: range withString: string];
NSLog(@"shouldChangeCharactersInRange: %@", resultingString);
return true;
}
- (void)viewDidLoad {
mytextField.text = @"";
mytextField.inputView = numberPad.view;
mytextField.delegate = self;
[mytextField becomeFirstResponder];
}