检查 iOS 8 的自定义键盘中的输入文本是不是为空
Posted
技术标签:
【中文标题】检查 iOS 8 的自定义键盘中的输入文本是不是为空【英文标题】:Check if input text is empty in custom keyboard for iOS 8检查 iOS 8 的自定义键盘中的输入文本是否为空 【发布时间】:2014-08-22 09:58:05 【问题描述】:我正在为 ios 8 开发一个自定义键盘,我想检查输入文本是否为空,以便在需要时启用或禁用返回键按钮 (self.textDocumentProxy.enablesReturnKeyAutomatically == YES
)。
这是我到目前为止所做的:
- (void)textDidChange:(id<UITextInput>)textInput
NSString *inputText = [self.textDocumentProxy.documentContextBeforeInput stringByAppendingString:self.textDocumentProxy.documentContextAfterInput];
if (self.textDocumentProxy.enablesReturnKeyAutomatically)
self.returnButton.enabled = !(inputText.length == 0);
else
self.returnButton.enabled = YES;
但如果“自动启用返回键”为 ON,则返回按钮始终处于禁用状态,即使输入文本不为空。检查输入文本是否为空的正确方法是什么?谢谢。
【问题讨论】:
小心'documentContextBeforeInput'和'documentContextAfterInput',两者都可能是'nil' @Bersaelor 当然,感谢您的提示。 嗨,我们可以检测从自定义键盘输入的单词吗? 【参考方案1】:试试这个,再测试一次
在下面执行 deleteBackward 操作的函数中禁用返回键
- (IBAction)returnBackSpacePressed
[self.textDocumentProxy deleteBackward];
if(self.textDocumentProxy.documentContextBeforeInput.length-1 == 0)
[self.textDocumentProxy insertText:@"Now disable your return key"];
// Here your inputTest is now empty
在您插入测试时结束启用您的返回键
- (void)putChar:(NSString *)charactor
[self.textDocumentProxy insertText:charactor];
// enable your return key here again, because now your inputText is not empty
【讨论】:
谢谢。您的回答帮助我解决了我的问题。 嗨,我们可以检测从自定义键盘输入的单词吗? 对我来说 if (self.textDocumentProxy.documentContextBeforeInput.length == 0) after [self.textDocumentProxy insertText:charactor];以上是关于检查 iOS 8 的自定义键盘中的输入文本是不是为空的主要内容,如果未能解决你的问题,请参考以下文章