在插入位置将文本插入UITextField

时间:2012-09-24 14:36:44

标签: objective-c ios cocoa-touch

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

The method of using the global clipboard to insert是错误的,因为启用VoiceOver时会显示“粘贴”而不是每次使用时插入的字符。哪个不够好。

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

2 个答案:

答案 0 :(得分:6)

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

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

这将适用于选择,插入位置等。人

然而,当宣布输入的字符串时,将使用正确的音调。 VoiceOver在宣布插入的文本时使用更深的语音,我提出了separate question on how to control the tone of VoiceOver

答案 1 :(得分:0)

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