我设计了一个自定义键盘扩展,我能够正确输入文本.但是我似乎无法弄清楚何时启用大写键盘和小写时.这主要是因为以下功能无法正确返回已输入的前/后文本.有时它们会返回nil,有时只返回最后几个字符等.很多时候这些方法甚至都没有被调用.
- (void)textWillChange:(id)textInput - (void)textDidChange:(id )textInput
当我需要启用大写键盘时,我已经想出了以下场景:
文本长度= 0或零
输入句点后,我需要添加空格和大写键盘
当光标位于光标前的字符是句点或空格的位置时,在此之前是一个句点.
当用户选择整个文本"全选"时
当用户选择整个文本并删除全部文本时
当用户退格和光标前的新字符是句点或空格时,在此之前是句点.
当用户粘贴文本时,光标前的字符是句点或空格,之前是句点.
此外,如果以上是可能的,是否也可以获得最后输入的"整个"单词,我可以将其用于字典搜索,例如预测输入?
我已经阅读了苹果文档,其中说明用户希望自动大写,所以我确信这应该是可能的
https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html