1

我正在为 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,则返回按钮始终处于禁用状态,即使输入文本不为空。检查输入文本是否为空的正确方法是什么?谢谢。

4

1 回答 1

2

试试这个,再次测试

在下面执行 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
     }
}

当您的 insertTest 结束时启用您的返回键

- (void)putChar:(NSString *)charactor
{
   [self.textDocumentProxy insertText:charactor];
// enable your return key here again, because now your inputText is not empty
}
于 2014-08-22T18:18:44.667 回答