繁体   English   中英

如何通过在iMessage中点击“发送”等操作从iOS键盘扩展中检测到文本字段被清除?

[英]How to detect from iOS keyboard extension that a textfield is cleared via actions like hitting “Send” in iMessage?

在我的iOS键盘应用程序中,我目前有一个文本建议栏,就像默认的iOS 8键盘的建议栏。 每当用户执行清除文本字段的操作时(例如,当某人在iMessage或Whatsapp上点击“ 发送 ”时),我想清除建议栏上的所有文本。

因为点击“发送” 不是击键 ,我想知道在清除文本字段时是否有从键盘检测的方法。

我已经尝试检测空文本""或新行"\\n" ,但到目前为止这没有用。

编辑:我知道这可以通过第三方iOS键盘,如这里所见(这是来自Themeboard

在点击发送之前,请注意建议栏中的文字。
在发送之前

点击“发送”后立即。 建议栏已清除。
点击发送后

在Messages中按下发送按钮时,将在UIInputViewController子类上调用textDidChange: callback。 此时, UIInputViewController子类的textDocumentProxy属性的documentContextAfterInputdocumentContextBeforeInput属性将为nil或空字符串。 虽然你知道为什么文本框被清除,你也许可以推断大多数情况下,这种情况发生时,你应该清楚你目前的下一个单词预测。

- (void)textDidChange:(id<UITextInput>)textInput
{
    if ((!self.textDocumentProxy.documentContextBeforeInput && !self.textDocumentProxy.documentContextAfterInput) || ([self.textDocumentProxy.documentContextBeforeInput isEqualToString:@""] && [self.textDocumentProxy.documentContextAfterInput isEqualToString:@""])){
        //Implement code to clear the banner
        [self.keyboard.lblBanner setText: @""];
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM