我设计了自定义键盘扩展程序,我可以正确输入文字。但是我似乎无法弄清楚何时启用大写键盘和小写时。这主要是因为以下功能无法正确返回已输入的前/后文本。有时它们会返回零,有时只返回最后几个字符等。很多时候这些方法甚至都没有被调用。
- (void)textWillChange:(id<UITextInput>)textInput
- (void)textDidChange:(id<UITextInput>)textInput
当我需要启用大写键盘时,我已经找到了以下场景:
如果以上情况可行,是否也可以获得最后输入的“整个”单词,我可以将其用于字典搜索,例如预测输入?
我已经阅读了苹果文档,其中说明用户希望自动大写,所以我确信这应该是可能的
答案 0 :(得分:2)
E.G。 textField以您的UITextField实例命名。初始化后把它放进去。
textField.autocaptializationType = UITextAutocapitalizationTypeSentences
这应该在你提到的所有实例中给你大写字母。
确定您的自定义键盘采用UITextInputTraits协议,请执行以下操作。
@interface MyCustomKeyboard : UITextInput <UITextInputTraits> //Now adopts the UITextInputTraits protocol.
- (instancetype)init {
self = super.init;
if(self) {
//Here you can set the properties that come with the protocol
self.autocapitilizationType = UIAutocapitalizationTypeSentences;
}
}