- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
在我的 iOS 键盘应用程序中,我目前有一个文本建议栏,很像默认的 iOS 8 键盘的建议栏。每当用户执行清除文本字段的操作时(例如,当有人在 iMessage 或 Whatsapp 上点击“发送”时,我想清除建议栏上的所有文本)。
由于点击“发送”不是击键,我想知道是否有办法在清除文本字段时从键盘检测到。
我已经尝试检测空文本 ""
或新行 "\n"
,但到目前为止这还没有奏效。
编辑:我知道这可以通过第 3 方 iOS 键盘实现,如此处所示(来自 Themeboard)
点击发送之前,请注意建议栏中的文本。
点击“发送”后立即。建议栏已清除。
最佳答案
当在消息中按下发送按钮时,textDidChange:
回调将在您的 UIInputViewController
子类上调用。此时,UIInputViewController
子类的 textDocumentProxy
属性的 documentContextAfterInput
和 documentContextBeforeInput
属性都将为 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: @""];
}
}
关于ios - 如何从 iOS 键盘扩展中检测到通过在 iMessage 中点击 "Send"等操作清除了文本字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31483853/
我需要你的帮助!我在它们之间放置了随机数量的 div。 Item description Item description Item description Item
我有两个 NSDates,时间格式为“h:mm a”(即 6:00 AM 和 8:00 PM)。 我试图找出这两个时间之间的中点是什么时间。 对于上面的示例,早上 6:00 和晚上 8:00 之间的中
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
我正在寻找一种有效的算法来检查一个点是否在 3D 中的另一个点附近。 sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2) < radius 这似乎并不太快,实际上我不需要这
我可以让 pandas cut/qcut 函数返回 bin 端点或 bin 中点而不是一串 bin 标签吗? 目前 pd.cut(pd.Series(np.arange(11)), bins = 5)
我是一名优秀的程序员,十分优秀!