有没有简单的方法在UITextField的插入位置插入文本?我有一个带有一些特殊字符的自定义键盘,我很难完成这项工作。我不允许任意输入,键盘限制为大约20个特殊字符,其他所有字符都被拒绝。
The method of using the global clipboard to insert是错误的,因为启用VoiceOver时会显示“粘贴”而不是每次使用时插入的字符。哪个不够好。
找到任何替代解决方案似乎都很困难,因为所有解决方案都只是参考了解决方案。
答案 0 :(得分:6)
解决方案比我想象的简单:
[self insertText:string];
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, string);
这将适用于选择,插入位置等。人
然而,当宣布输入的字符串时,不将使用正确的音调。 VoiceOver在宣布插入的文本时使用更深的语音,我提出了separate question on how to control the tone of VoiceOver。
答案 1 :(得分:0)
UITextField实现UITextInput协议,因此具有'selectedTextRange'属性,该属性返回选择或光标位置。阅读它,因为您可以从该协议所需的方法中获得许多有趣的信息。