有没有简单的方法在 UITextField 的插入符号位置插入文本?我有一个带有一些特殊字符的自定义键盘,但我很难完成这项工作。我不允许任意输入,键盘限制为大约 20 个特殊字符,其他所有字符都被拒绝。
使用全局剪贴板插入的方法是一种不好的方法,因为打开 VoiceOver 时,它会说“粘贴”而不是每次使用时插入的字符。这还不够好。
找到任何替代解决方案似乎都非常困难,因为所有解决方案都只是参考粘贴解决方案。
有没有简单的方法在 UITextField 的插入符号位置插入文本?我有一个带有一些特殊字符的自定义键盘,但我很难完成这项工作。我不允许任意输入,键盘限制为大约 20 个特殊字符,其他所有字符都被拒绝。
使用全局剪贴板插入的方法是一种不好的方法,因为打开 VoiceOver 时,它会说“粘贴”而不是每次使用时插入的字符。这还不够好。
找到任何替代解决方案似乎都非常困难,因为所有解决方案都只是参考粘贴解决方案。
解决方案比我想象的要简单:
[self insertText:string];
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, string);
这将与选择、插入符号位置等一起正常工作。人。
但是,在宣布输入的字符串时,它不会使用正确的音调。VoiceOver 在宣布插入的文本时使用更深沉的声音,我提出了一个单独的问题,关于如何控制 VoiceOver 的语气。
UITextField 实现 UITextInput 协议,因此具有“selectedTextRange”属性,该属性返回选择或光标位置。阅读它,因为您可以从该协议所需的方法中获得许多有趣的信息。