【发布时间】:2016-04-06 21:32:54
【问题描述】:
我设计了一个自定义键盘扩展,我能够正确输入文本。但是,我似乎无法弄清楚何时启用大写键盘以及何时启用小写。这主要是因为以下函数没有正确返回已经输入的前后文本。有时它们会返回 nil,有时只返回最后几个字符等。很多时候甚至根本不调用这些方法。
- (void)textWillChange:(id<UITextInput>)textInput
- (void)textDidChange:(id<UITextInput>)textInput
当我需要启用我的大写键盘时,我发现了以下场景:
- 文本长度 =0 或无
- 输入句点时,需要添加空格和大写键盘
- 当光标放置在光标之前的字符是句点或空格且之前的字符是句点的位置时。
- 当用户选择整个文本“全选”时
- 当用户选择整个文本并全部删除时
- 当用户退格并且光标前的新字符是句点或空格并且之前是句点时。
- 当用户粘贴文本时,光标前的字符是句点或空格,而在该字符之前是句点。
此外,如果上述情况可行,是否也可以获得最后输入的“整个”单词,我可以将其用于字典搜索,例如预测输入?
我已经阅读了苹果文档,其中指出用户期望自动大写,所以我相信这应该是可能的
【问题讨论】:
-
您找到解决方案了吗?
标签: ios objective-c keyboard