iOS - 使用语音转文本(siri)限制输入UITextField的字符数

时间:2015-02-12 12:21:52

标签: ios iphone uitextfield uitextview

在使用语音转文本时,我们如何限制输入UITextField的字符数?我知道如何在使用键盘时限制但在使用语音到文本(siri)时不知道如何操作,因为没有调用委托(shouldChangeCharactersInRange)。

2 个答案:

答案 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委托会在你完成后被解雇。你可以像这样处理