Я использую (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)
для выполнения проверки регулярного выражения в реальном времени на каждом вводе символов в UITextView
.Siri Dictation Bypasses UITextView: shouldChangeTextInRange Delegate
Это хорошо работает и даже обрабатывает вложенный текст, который может содержать недопустимые символы.
Но Сири, похоже, не заботится о таких вещах и не сбрасывает свою диктовку прямо в (void)textViewDidChange:(UITextView *)theTextView
, минуя делегата shouldChangeTextInRange
и избегая проверки валидации.
Это кажется недостатком безопасности для меня и разрушает поток API, который следует за каждым другим входным каналом.
Любые мысли о том, как я могу заставить Дикситацию Сири выполнить вызов shouldChangeTextInRange
?
Dunno, но это звучит как [хорошая ошибка в файле] (http://bugreport.apple.com). – rickster
Согласен. Похоже, вы должны подать радар. – Tander
Ошибка сообщается Apple. Давай посмотрим что происходит. –