3

有没有简单的方法在 UITextField 的插入符号位置插入文本?我有一个带有一些特殊字符的自定义键盘,但我很难完成这项工作。我不允许任意输入,键盘限制为大约 20 个特殊字符,其他所有字符都被拒绝。

使用全局剪贴板插入的方法是一种不好的方法,因为打开 VoiceOver 时,它会说“粘贴”而不是每次使用时插入的字符。这还不够好。

找到任何替代解决方案似乎都非常困难,因为所有解决方案都只是参考粘贴解决方案。

4

2 回答 2

6

解决方案比我想象的要简单:

[self insertText:string];
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, string);

这将与选择、插入符号位置等一起正常工作。人。

但是,在宣布输入的字符串时,它不会使用正确的音调。VoiceOver 在宣布插入的文本时使用更深沉的声音,我提出了一个单独的问题,关于如何控制 VoiceOver 的语气

于 2012-09-25T08:21:54.843 回答
0

UITextField 实现 UITextInput 协议,因此具有“selectedTextRange”属性,该属性返回选择或光标位置。阅读它,因为您可以从该协议所需的方法中获得许多有趣的信息。

于 2012-09-24T21:48:10.510 回答