Как я могу заставить UITextFieldDelegate.shouldChangeCharactersInRange запускаться с помощью настраиваемого inputView?

У меня есть специальная клавиатура, которую я использую для редактирования текста в 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];
}
9
задан docchang 25 January 2011 в 20:30
поделиться