【发布时间】:2019-05-16 18:47:22
【问题描述】:
我有 3 个文本字段,并且我使用 UITextFeildDelegate 方法将每个文本字段的字符限制限制为 50,它工作正常。现在,当我尝试通过语音而不是键盘输入文本时,文本字段似乎可以接受超过 50 个字符,并且有时整个文本会在语音输入完成后消失。
这是我的委托方法shouldChangeCharactersInRange
if(textField==self.optionATextField || textField==self.optionBTextField ||textField==self.optionCTextField) {
if(range.length + range.location > textField.text.length) {
return NO;
}
NSUInteger newLength = [textField.text length] + [string length] - range.length;
return newLength <= 50;
}
有什么办法吗?我是否需要实现任何其他方法才能使语音输入正常工作。
希望您了解问题所在。 提前致谢
【问题讨论】:
-
如果输入的文本超过 50 个字符,您是否希望将文本字段截断为 50 个字符?顺便说一句 - 如果用户粘贴文本以及使用语音,您是否有同样的需求?
-
@rmaddy 我想在达到 50 个字符时限制文本输入...不截断,用于粘贴和语音
-
假设有 40 个字符,用户粘贴了 20 个以上。您是要忽略整个 20 还是让前 10 变成 50?
-
我希望前 10 个达到 50 个
-
好的,这就是我的回答。
标签: ios objective-c uitextfield