在使用语音转文本时,我们如何限制输入UITextField的字符数?我知道如何在使用键盘时限制但在使用语音到文本(siri)时不知道如何操作,因为没有调用委托(shouldChangeCharactersInRange
)。
答案 0 :(得分:0)
这个问题非常有效。
使用Siri时,iOS无法拨打电话 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
它会让你有机会禁止特定字符,通过返回NO来强加lemgth限制等,或者在收到输入后更新部分GUI
在其他论坛中,据报道UITextFieldTextDidChangeNotification已被调用,但我的iPhone 6上的8.0版本没有这样做,因此一旦输入文本,您甚至无法对文本进行追溯性更改(在OP的情况下保持不变)
答案 1 :(得分:0)
你可以这样做。
if((textField.text.length + string.length) >= numberOfCharactersAllowed)
{
return NO;
}
else
{
return YES;
}
当你使用siri时,UITextField委托会在你完成后被解雇。你可以像这样处理